サーバーがあります:
SSDドライブは4つの真新しい2.5インチIntel 530で、540MB /秒の読み取り速度と490MB /秒の書き込み速度
しかし、これはRAID 10での読み取り速度のテスト結果です。
hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 824 MB in 3.00 seconds = 274.50 MB/sec
[root@localhost ~]# hdparm -t /dev/mapper/vg_localhost-lv_root
/dev/mapper/vg_localhost-lv_root:
Timing buffered disk reads: 800 MB in 3.01 seconds = 266.19 MB/sec
これは書き込み速度のためです:
dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 4.91077 s, 109 MB/s
レイド10で1GBの読み取り速度を期待していましたが、270MBは単一ディスクの速度でさえありません!
回答で述べたようにいくつかの設定を変更した後、私は以下の結果を得ました:
(読み取り速度が400MBではなく4GBと表示される理由は誰でも知っていますか?)
編集:コマンドが間違っていたようであり、この量のRAMには-s144gを使用する必要がありました。そのため、4GBが表示されます(ewwhiteのコメントで提案されています)。
[root@192 ~]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
Iozone: Performance Test of File I/O
Version $Revision: 3.408 $
Compiled for 64 bit mode.
Build: linux
Record Size 1024 KB
File size set to 58720256 KB
Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
Output is in Kbytes/sec
Each process writes a 58720256 Kbyte file in 1024 Kbyte records
Children see throughput for 1 initial writers = 135331.80 KB/sec
Children see throughput for 1 rewriters = 124085.66 KB/sec
Children see throughput for 1 readers = 4732046.50 KB/sec
Children see throughput for 1 re-readers = 4741508.00 KB/sec
Children see throughput for 1 random readers = 4590884.50 KB/sec
Children see throughput for 1 random writers = 124082.41 KB/sec
しかし、古いhdparm -t /dev/sda
コマンドは引き続き次のように表示します:
バッファリングされたディスク読み取りのタイミング:3.00秒で810 MB = 269.85 MB /秒
最後にいくつかの希望、私たちはraidコントローラーからキャッシュを無効にし、他のいくつかのことをうまくいかずに以前に行いましたが、サーバーをリロードしてOSを再度インストールしたため、ewwhiteの回答で提案されているように「tuned-utils」をインストールするのを忘れました(ありがとうあなたが提案したこの素晴らしいパッケージのewwhite)
tuned-utils
をインストールしてenterprise-storage
プロファイルを選択すると、読み取り速度は約600MB/s +になりますが、書き込み速度は非常に遅くなります(約160MB)(:
iozone -t1 -i0 -i1 -i2 -r1m -s144g
コマンドの結果は次のとおりです。
Children see throughput for 1 initial writers = 165331.80 KB/sec
Children see throughput for 1 rewriters = 115734.91 KB/sec
Children see throughput for 1 readers = 719323.81 KB/sec
Children see throughput for 1 re-readers = 732008.56 KB/sec
Children see throughput for 1 random readers = 549284.69 KB/sec
Children see throughput for 1 random writers = 116389.76 KB/sec
hdparm -t /dev/sda
コマンドを使用しても、次のようになります。
タイミングバッファーディスク読み取り:3.02秒で1802 MB = 600.37 MB /秒
非常に遅い書き込み速度について何か提案はありますか?
書き込み速度はまだ非常に遅い(単一ディスクの1/3にもならない〜150MB/s)
df -h
およびfdisk -l
の出力:
[root@192 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 441G 3.2G 415G 1% /
tmpfs 36G 0 36G 0% /dev/shm
[root@192 ~]# fdisk -l
Disk /dev/sda: 480.0 GB, 480047620096 bytes
255 heads, 63 sectors/track, 58362 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040c3c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 58363 468795392 83 Linux
ここで他の答えはいくつかのポイントを上げていますが、特定の問題はプラットフォームの制限とOSの構成が原因です。
consumerHP Smart Array P410 RAIDコントローラーのSATA SSD を使用すると、スループットが制限されます。 SATAディスクは、これらのコントローラーで6.0Gbps(6G)ではなく3.0Gbps(3G)で動作します。したがって、これはIntel SSDの読み取り速度に影響を与える障壁です。ドライブあたり300MB/s以下。
SmartアレイP410コントローラーは、SSDで使用する場合 特定の要件とベストプラクティス を備えています。つまり、コントローラーは50,000 IOPSに対応しており、SSDボリュームのアレイアクセラレーターを無効にして、パフォーマンスが最高6台のドライブに達します。
ディスクのパフォーマンスは、シーケンシャルな読み取り/書き込み速度について常にあるとは限りません。iozone または bonnie ++ のような適切なツールでベンチマークを試してください。複数のドライブのランダムなI/Oのメリットは引き続き得られます。
オペレーティングシステムレベルで、 tuned-utils パッケージをインストールし、プロファイルをenterprise-performance
に設定して、ファイルシステムから書き込みバリアを削除し、セットアップに適したI/Oエレベーターを設定します。これは 他の質問 でもカバーされています。
LVMを使用しているようです。それも影響を与える可能性があります...
同じHP SmartアレイP410でfourコンシューマ6G SATA SSD (3G速度にダウンシフト)で実行されているG7 ProLiantのiozoneレポートは次のとおりですRAIDコントローラ。
約470MB/sの書き込みと650MB/s +の読み取りが表示されるはずです。
[root@mdmarra /data/tmp]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
Iozone: Performance Test of File I/O
Version $Revision: 3.394 $
Compiled for 64 bit mode.
Build: linux
Record Size 1024 KB
File size set to 58720256 KB
Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
Output is in Kbytes/sec
Each process writes a 58720256 Kbyte file in 1024 Kbyte records
Children see throughput for 1 initial writers = 478209.81 KB/sec
Children see throughput for 1 rewriters = 478200.84 KB/sec
Children see throughput for 1 readers = 677397.69 KB/sec
Children see throughput for 1 re-readers = 679523.88 KB/sec
Children see throughput for 1 random readers = 437344.78 KB/sec
Children see throughput for 1 random writers = 486254.41 KB/sec
ああ、どこから始めればいいの?
非常に多くの関与があり、すべてを十分に理解する必要があります。 RAIDコントローラにディスクの束を投げるだけでは、求めている結果は得られません。
これは簡単には答えられません。しかし、少なくとも、ここにあなたが見なければならないもののリストがあります:
RAID全体(FSを無視)に対するスループットは単一のディスクよりも大幅に低いため、書き込み戦略を誤って設定した可能性があります。コントローラーはおそらくすべてのディスクが書き込みを確認するのを待っています(そして、RAMがバックアップされていない限り、これは最善の方法です)。