Linuxは平均ブートでどのくらいのデータを読み取りますか?


9

新しくインストールされたバニラLinuxシステム(32ビットCentOS 5.10など)は、仮想コンソールシェルプロンプトにアクセスするために、合計でどのくらいのデータを読み取るのでしょうか。ご存知のとおり、すべての構成ファイルの読み取り、バイナリーのロード、カーネル・イメージなど。

規模の見積もりを探しています。Linuxブートは、プロセスの詳細に関して大きく異なることを認識しています。私たちは10Mbを話しているのですか?100Mb?1Gb?


5
なぜ質問するのですか?
Zoredache 2014年

2
変動性は、システム間で桁違いです(可能性があります)。カーネルとドライバのロードは、ブートプロセスのほんのわずかな部分であり、システム上のinitスクリプトは、ログインプロンプトが表示される前に文字通り何でも実行できます。私たちが解決するのを助けることができる実際の、実用的な問題に関してあなたが扱っている状況を説明してください。
voretaq7 2014年

1
@amn最初の質問に理由を記入できますか?コンテキストに役立ちます。人々が同様の質問をするもう1つの理由は、サイクル制限のあるストレージを使用しているかどうかです。詳細は常に優れています。
ewwhite 2014年

8
@ewwhite私は数百台のLinuxマシンをブートしていますが、それらのシステムコンテンツの95%は同一であり、同一のままです-マシンはクローンです。ファイルシステムの同一/読み取り専用の共有部分をNFSストレージにオフロードし、そこからマウントして、そのように起動したいと思います。/ var、/ tmp、/ homeなどのファイルシステムの書き込み可能な部分のみが、各マシンのローカルに残ります。潜在的に数百のマシンが「クラスター」の一部として同時に起動する可能性があるため、起動時にアクセスされたNFSストレージリンクがボトルネックになるかどうかを見積もる必要があります。
午前

5
I need to estimate...次に、1つ実行して測定します。
symcbean 2014年

回答:


8

1つのシステムをインストールしてブートし、/sys/block/${DEV}/stateg からブロックレイヤーの統計情報を確認します/sys/block/sda/stat

ドキュメントからの引用:

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の結果

Scientific Linux 6.1 i386(RHELに類似)を実行するKVM / qemu仮想マシンでこれをテストしました。次のサービスが有効になりました:acpid、auditd、crond、ネットワーク、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秒でした。


2
これは、転送要求(量)ではなく、スループット要求(速度)を提供するように見えることに注意してください。ただし、稼働時間で除算して平均数を取得することもできます。
voretaq7 2014年

15

あなたはコメントで、netboot / network root環境を評価していると言います。

最初に理解しなければならないのは、「バニラ」などはないということです。CentOS5.10をそのまま変更なしで実行することはありません(自分が誤解していると思われる場合:NFSルートはすでに少なくともイチゴ、ピスタチオに向かっている)。

特定の環境(実際に重要なこと)に対する回答が必要な場合は、NFSサーバーとクライアントマシンをセットアップし、ブートして、以下を測定する必要があります。

  1. 転送(数量)
  2. スループット(レート)

どちらの値もパフォーマンスにとって非常に重要です。また、ある時点で複数のクライアントをセットアップし、システムの通常の使用をシミュレートして、人々が日常のようにシステムを使用しているときにNFSサーバー/ネットワークにどのような定常状態の需要が発生するかを確認することもできます。作業。

参照:キャパシティプランニングに関するシリーズ-NFSについては特に触れませんが、「ビルド、テスト、ストレスイット」の一般原則が適用されます。


1
バニラアイスクリームがあれば、バニラリナックスがあります!;-)冗談はさておき、それはかなり変更されていないCentOSの5.10で、何でも変更されたがそのことを書き込み可能なファイルシステムの一部ではありません巨大なPostgresデータベース内であり、はい-それは要因ではないですので、NFSからマウントします/ var / libですが、/ varはNFSからマウントされていませんが、ローカルの物理起動ディスク上にあります。そして、私がそれを
プロファイリングし

10
@amn申し訳ありませんが、プロファイリングを実行したくないのですが、自分がやらなければならないことを実行する必要があります-該当する数値をバットから取り出すことはできません。あなたのソリューション(NFSルート)は、長い時間をかけてテストされた健全なソリューションであり、正直に言うと、問題なくブラインドを展開できます(NFSルートとネットブートの全盛期には、何万ものSun Microsystems環境がそのようにブラインドで展開されていました) Solaris&はうまくいきました)。パフォーマンスについて心配している場合は、特定の環境の需要とボトルネックを特定するためにプロファイリングを行う必要があります。これは、ユニバースの方法にすぎません。
voretaq7 2014年

イチゴの+1
alexyorke 2014年

1
@ voretaq7プロファイリングの議論について議論することはできません。私は袖をまくってNFSをセットアップする前に、次善の策を求めていました。貴重なご意見ありがとうございます。
午前
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.