MySQLテーブルをインデックス化しています。そのコンピュータに高い負荷がかかります。
これは、iowaitが高いために発生するようです。ただし、これはwMB / sが2.87にすぎないことも示しています。
一般的なSATA HDDも2.87MB / s以上を処理できませんか?それでは、なぜプロセスがそんなに遅いのでしょうか?
iostat -x
レポート:
avg-cpu: %user %nice %system %iowait %steal %idle
1.74 0.00 3.48 47.51 0.00 47.26
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 300.00 0.00 383.00 0.00 2.87 15.35 142.00 374.64 2.61 99.90
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 2507.00 0.00 9.79 8.00 263.88 110.06 0.40 99.90
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 2.00 0.00 0.01 8.00 0.41 196.00 202.50 40.50
dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
ベストアンサー1
回転しているディスクでできることの中で最も遅い作業である小さなランダム書き込みを行っているので、スループットが(私の)期待を満たすと言いたいと思います。
サイズavgrq-sz
は15.35です。これは、平均要求がSATAディスクセクタサイズの15.35倍(最も一般的には512バイトですが、非常に新しいSATAディスクの場合は4096バイトである可能性があります)であることを意味するので、書き込みが必要です。 15.35 x 512バイト= 7,859.2バイトを入力してください。 (平均的に)要求ごとに報告されiostat
た毎秒383の書き込みを掛けると3,010,073.6バイトになります(平均を掛けると0.6バイトが表示されます)。そして3,010,073.6バイト/秒は2.87MB/sです。
1秒あたりに実行できる書き込み数は、ディスクがヘッドを移動するのに必要な量によって異なりますが、おおよそ言えば、デバイスが実行できる最大1秒あたりの書き込み数に近づいています。
毎秒小さい書き込みと大きな書き込みを組み合わせると、回転するディスクでの書き込み速度が速くなりますavgrq-sz
。
これが重要なパフォーマンスの問題である場合は、通常、このタイプのワークロードでより良いパフォーマンスを提供するさまざまなSSDオプションを検討することをお勧めします。