新しくインストールしたVanillaLinuxシステム(32ビットCentOS 5.10など)は、仮想コンソールのシェルプロンプトを表示するために、合計でどのくらいのデータを読み取るのでしょうか。ご存知のとおり、すべての構成ファイルの読み取り、バイナリのロード、カーネルイメージなど。
桁違いの見積もりを探しています。 Linuxの起動は、プロセスの詳細に関して大きく異なることを認識しています。私たちは10Mbを話しているのですか? 100Mb? 1Gb?
1つのシステムをインストールして起動し、/sys/block/${DEV}/stat
からブロックレイヤーの統計を確認します。例: /sys/block/sda/stat
。
ドキュメント からの引用:
統計ファイルは、空白で区切られた11個の10進値を含む1行のテキストで構成されます。フィールドは次の表に要約されており、以下でより詳細に説明されています。
Name units description ---- ----- ----------- read I/Os requests number of read I/Os processed read merges requests number of read I/Os merged with in-queue I/O read sectors sectors number of sectors read read ticks milliseconds total wait time for read requests write I/Os requests number of write I/Os processed write merges requests number of write I/Os merged with in-queue I/O write sectors sectors number of sectors written write ticks milliseconds total wait time for write requests in_flight requests number of I/Os currently in flight io_ticks milliseconds total time this block device has been active time_in_queue milliseconds total wait time for all requests
セクターの読み取り、セクターの書き込み
これらの値は、このブロックデバイスから読み取られた、またはこのブロックデバイスに書き込まれたセクターの数をカウントします。問題の「セクター」は、標準のUNIX 512バイトセクターであり、デバイスまたはファイルシステム固有のブロックサイズではありません。カウンタは、I/Oが完了するとインクリメントされます。
このワンライナーを使用すると、バイト数をより簡単に取得できます。
awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat
これを、 Scientific Linux 6.1 i386(RHELに似ています)を実行しているKVM/qemu仮想マシンでテストしました。次のサービスが有効になりました:acpid、auditd、crond、network、postfix、rsyslog、sshd、udev-post。スワップは別のディスク上にあるため、考慮されません。
ログインプロンプトが表示されてから数秒後にSSHを使用してリモートで取得された85回の起動の統計は次のとおりです。
Name Median Average Stdev
------------- ------ ------- -----
read I/Os 1920 1920.2 2.6
read merges 1158 1158.4 1.8
read sectors 85322 85330.9 31.9
>> read MiBytes 41.661 41.665 0.016
read ticks 1165 1177.2 94.1
write I/Os 33 32.6 1.7
write merges 64 59.6 7.4
write sectors 762 715.2 70.9
>> write MiBytes 0.372 0.349 0.035
write ticks 51 59.0 17.4
in_flight 0 0.0 0.0
io_ticks 895 909.9 57.8
time_in_queue 1217 1235.2 98.5
起動時間は約20秒でした。
コメントで、ネットブート/ネットワークルート環境を評価していると言っています。
最初に気づかなければならないのは「バニラ」のようなものはありません-あなたはCentOS 5.10を箱から出してすぐに実行することはなく、変更はありません(自分を惑わしていると思われる場合:NFSルートはすでに少なくともStrawberryであり、Pistachioに集中しています)。
特定の環境(これが本当に重要です)に対する答えが必要な場合は、NFSサーバーとクライアントマシンをセットアップし、起動して、測定する必要があります。 :
両方の値は、パフォーマンスにとって非常に重要です。また、ある時点でいくつかのクライアントをセットアップし、システムの通常の使用をシミュレートして、NFSサーバー/ネットワークにどのような定常状態の要求があるかを確認することもできます。人々が日常業務と同じようにシステムを使用しているとき。
参照: キャパシティプランニングに関するシリーズ -NFSについては特に説明しませんが、「構築、テスト、ストレス」の一般原則が適用されます。