Linux에서 eSATA 성능을 어떻게 최적화합니까?

Linux에서 eSATA 성능을 어떻게 최적화합니까?

eSATA 성능이 매우 느려졌습니다. 150-200mb/s를 쉽게 처리할 수 있는 디스크에서는 약 5mb/s입니다. 속도를 높이려면 일부 설정이나 모듈을 활성화해야 합니까? 디스크는 4TB 디스크이고 컴퓨터는 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(/mnt/yourdisk에 디스크를 마운트하세요)
  • 그리고 읽기 테스트: dd if=/mnt/yourdisk/output.tmp of=/dev/null bs=8k(먼저 쓰기 테스트를 사용하여 파일을 생성하고 디스크를 마운트합니다)
  • 또한 GUI를 사용하고 Gnome이 있는 경우 다음을 사용할 수 있습니다 gnome-disks(해당 프로젝트에 대한 추가 정보)

가장 약한 링크 찾기

나는 사용하는 것을 선호한다꼭대기에시스템에서 무슨 일이 일어나고 있는지 분석하고 병목 현상을 식별합니다. eSATA 드라이브에 읽기/쓰기(위 참조)와 동시에 상단을 살펴보세요( d디스크 관련 정보를 보려면 상단을 실행하는 동안 누르세요). 거기 무슨 일 이죠? 스크린샷을 제공해 주실 수 있나요?

eSATA 성능 향상

다음은 몇 가지 일반적인 팁입니다. 제공하신 정보로는 더 구체적으로 설명할 수 없습니다. 더 구체적인 팁을 원하시면 하드웨어 체인에 대한 추가 정보를 제공해 주세요.

  • (e)SATA 하드웨어에 적합한 드라이버 찾기
  • 일부 Linux 배포판에서는 다음을 제공합니다 scsitools(프로젝트 사이트), 이는 또한 매우 유용할 수 있습니다.
  • BIOS에 다음과 같은 eSATA 포트에 대한 옵션이 있습니까?IDE 또는 AHCI 모드.

관련 정보