Linux で eSATA パフォーマンスを最適化するにはどうすればいいですか?

Linux で eSATA パフォーマンスを最適化するにはどうすればいいですか?

eSATA のパフォーマンスが非常に遅いと感じています。150 ~ 200 mb/s を簡単に処理できるディスクで約 5 mb/s です。速度を上げるには、何らかの設定またはモジュールを有効にする必要がありますか? ディスクは 4 TB ディスクで、コンピューターは HP MicroServer です。カーネルは 3.2.0-4-amd64 です。

アップデート:

ディストリビューションはDebian Lennyです。

dd if=/dev/zero of=/mnt/foo および if=/mnt/somebigfile.tar.gz of=/dev/null を使用して測定しました。dd のさまざまなブロック サイズ、oflag=direct、iflag=direct を試しました。

読み取りも書き込みも遅いです。ただし、このディスクはバックアップ用に使用することになっていたため、書き込みが最も心配です...

アップデート:

dd でさらにパフォーマンス テストを実施しました。結果は次のとおりです。

(root@corvina) (14-08-17 22:40:29) (P:0 L:2) [0]
~ # alias drop-all-caches                         [R0 J0 L:0.70 1.13 1.35 U:3+11:29 pts/4 2122H]
drop-all-caches='sync ; echo 3 > /proc/sys/vm/drop_caches'
(root@corvina) (14-08-17 22:40:39) (P:0 L:2) [0]
~ # hdparm -Tt /dev/sda                           [R0 J0 L:0.60 1.10 1.33 U:3+11:29 pts/4 2123H]

/dev/sda:
 Timing cached reads:   2970 MB in  2.00 seconds = 1484.76 MB/sec
 Timing buffered disk reads: 528 MB in  3.01 seconds = 175.37 MB/sec
(root@corvina) (14-08-17 22:40:59) (P:0 L:2) [0]
~ # drop-all-caches; time dd if=/dev/zero of=/mnt/zero.dat bs=8k count=100k; time sync
102400+0 records in
102400+0 records out
838860800 bytes (839 MB) copied, 1,35067 s, 621 MB/s
dd if=/dev/zero of=/mnt/zero.dat bs=8k count=100k  0,03s user 1,32s system 91% cpu 1,485 total
sync  0,00s user 0,01s system 0% cpu 8,002 total
(root@corvina) (14-08-17 22:41:57) (P:0 L:2) [0]
~ # rm -vf /mnt/zero.dat                          [R0 J0 L:0.57 0.93 1.25 U:3+11:30 pts/4 2125H]
removed `/mnt/zero.dat'
(root@corvina) (14-08-17 22:42:28) (P:0 L:2) [0]
~ # drop-all-caches; time dd if=/dev/zero of=/mnt/zero.dat bs=8k count=1000k; time sync
1024000+0 records in
1024000+0 records out
8388608000 bytes (8,4 GB) copied, 68,5064 s, 122 MB/s
dd if=/dev/zero of=/mnt/zero.dat bs=8k count=1000k  0,41s user 22,31s system 33% cpu 1:08,58 total
sync  0,00s user 0,01s system 0% cpu 14,465 total
(root@corvina) (14-08-17 22:43:52) (P:0 L:2) [0]
~ # drop-all-caches; time dd if=/dev/zero of=/mnt/zero.dat bs=8k count=1000k oflag=direct; time sync
1024000+0 records in
1024000+0 records out
8388608000 bytes (8,4 GB) copied, 184,3 s, 45,5 MB/s
dd if=/dev/zero of=/mnt/zero.dat bs=8k count=1000k oflag=direct  0,79s user 109,24s system 59% cpu 3:04,62 total
sync  0,00s user 0,01s system 2% cpu 0,289 total
(root@corvina) (14-08-17 22:47:59) (P:0 L:2) [0]
~ # drop-all-caches; time dd of=/dev/null if=/mnt/zero.dat                                       16384000+0 records in
16384000+0 records out
8388608000 bytes (8,4 GB) copied, 82,3752 s, 102 MB/s
dd of=/dev/null if=/mnt/zero.dat  8,13s user 33,21s system 50% cpu 1:22,44 total
(root@corvina) (14-08-17 22:49:58) (P:0 L:2) [0]
~ # drop-all-caches; time dd of=/dev/null if=/mnt/zero.dat bs=8k
1024000+0 records in
1024000+0 records out
8388608000 bytes (8,4 GB) copied, 82,0298 s, 102 MB/s
dd of=/dev/null if=/mnt/zero.dat bs=8k  0,76s user 19,02s system 24% cpu 1:22,18 total
(root@corvina) (14-08-17 22:51:31) (P:0 L:2) [0]
~ # drop-all-caches; time dd of=/dev/null if=/mnt/zero.dat bs=8k iflag=direct
1024000+0 records in
1024000+0 records out
8388608000 bytes (8,4 GB) copied, 157,355 s, 53,3 MB/s
dd of=/dev/null if=/mnt/zero.dat bs=8k iflag=direct  0,88s user 85,48s system 54% cpu 2:37,42 total

これらの数字は、私が以前に得たものとはまったく似ていません。こちらはかなり遅いので、寝なければなりません。火曜日にさらに調査できればと思っています。

答え1

まずはスループットをテストすることから始めましょう

  • ターミナルを使用すると、次を使用できます: sudo hdparm -Tt /dev/sda(/dev/sda はディスクです)
  • 書き込みテストを行うには: dd if=/dev/zero of=/mnt/yourdisk/output.tmp bs=8k count=100k(yourdisk を /mnt/yourdisk にマウントします)
  • 読み取りテスト: dd if=/mnt/yourdisk/output.tmp of=/dev/null bs=8k(まず書き込みテストを使用してファイルを作成し、ディスクをマウントします)
  • また、GUIを使いたい場合、Gnomeをお持ちであれば、gnome-disksそのプロジェクトに関する詳細情報

最も弱い部分を見つける

私は好んで使う上にシステムで何が起こっているかを分析し、ボトルネックを特定します。eSATA ドライブ (上記参照) に読み取り/書き込みを行い、同時に atop を確認します (dディスク関連の情報を表示するには、atop の実行中に押します)。そこで何が起こっているのでしょうか? スクリーンショットを提供できますか?

eSATAパフォーマンスの向上

一般的なヒントをいくつか紹介します (提供された情報では、これ以上具体的なことは言えません。より具体的なヒントが必要な場合は、ハードウェア チェーンに関する詳細情報を提供してください)。

  • (e)SATAハードウェアに適したドライバーを入手する
  • 一部のLinuxディストリビューションではscsitoolsプロジェクトサイト)、これも非常に役立ちます。
  • BIOSにeSATAポートのオプションはありますか?IDEまたはAHCIモード

関連情報