Дисковый кэшированный ввод-вывод очень медленный
У меня есть две коробки с точно такой же конфигурацией оборудования. Оба имеют RAID0 (созданный с использованием mdadm) поверх дисков SATA. Но я получаю разные кэшированные чтения при тестировании с использованием hdparm
команда.
$ hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 924 MB in 2.00 seconds = 462.20 MB/sec
Timing buffered disk reads: 290 MB in 3.04 seconds = 95.44 MB/sec
В то время как на другой коробке,
$ hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 18404 MB in 2.00 seconds = 9201.42 MB/sec
Timing buffered disk reads: 322 MB in 3.00 seconds = 107.18 MB/sec
Может кто-нибудь помочь мне в решении этой проблемы. Почему я получаю низко кэшированные чтения на одном из серверов. Есть ли какие-либо настройки BIOS, обрабатывающие это?
Изменить 1:
Я попробовал инструмент перфорирования на обеих машинах.
Выведите на поле, в котором появится проблема:
# perf stat dd if=/dev/zero of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 6.22039 s, 82.3 MB/s
Performance counter stats for 'dd if=/dev/zero of=/dev/null count=1000000':
5692.357502 task-clock-msecs # 0.913 CPUs
72 context-switches # 0.000 M/sec
7 CPU-migrations # 0.000 M/sec
220 page-faults # 0.000 M/sec
975469183 cycles # 171.365 M/sec
1374701843 instructions # 1.409 IPC
65350 cache-references # 0.011 M/sec
17986 cache-misses # 0.003 M/sec
Выведите на другой ящик:
$ perf stat dd if=/dev/zero of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 0.280017 s, 1.8 GB/s
Performance counter stats for 'dd if=/dev/zero of=/dev/null count=1000000':
278.388839 task-clock-msecs # 0.994 CPUs
0 context-switches # 0.000 M/sec
0 CPU-migrations # 0.000 M/sec
220 page-faults # 0.001 M/sec
725024593 cycles # 2604.359 M/sec
1371073131 instructions # 1.891 IPC
15921 cache-references # 0.057 M/sec
1847 cache-misses # 0.007 M/sec
Я не понял, почему так много переключателей контекста, и значение task-clock-msecs также высоко. Может кто-нибудь, пожалуйста, помогите мне в дальнейшей отладке.
Изменить 2:
Я получаю следующий вывод для команды smartctl:
# /usr/local/sbin/smartctl -i /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-2.6.32-5-amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: ST91000640NS
Serial Number: 9XG40W61
LU WWN Device Id: 5 000c50 050920a25
Add. Product Id: DELL(tm)
Firmware Version: AA09
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Sun Sep 29 00:03:33 2013 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
# /usr/local/sbin/smartctl -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-2.6.32-5-amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: ST91000640NS
Serial Number: 9XG41K1L
LU WWN Device Id: 5 000c50 05093c434
Add. Product Id: DELL(tm)
Firmware Version: AA09
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Sun Sep 29 00:03:33 2013 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
2 ответа
Я думаю, что @DavidSchwartz имеет правильную идею, очевидно, проблема в другом, поскольку скорости дисков выглядят довольно схожими.
Лучший ресурс, который я видел для отслеживания проблем, связанных с производительностью, - это использование метода USE, описанного Бренданом Греггом. Поскольку вы используете Linux, он также написал соответствующую статью, специально предназначенную для Linux.
Числа чтения с диска находятся в пределах 10 процентов или около того. Я бы не стал беспокоиться о такой маленькой разнице. (Кэшированные операции чтения не являются дисковым вводом / выводом и не имеют ничего общего с вашими дисками или с вводом / выводом. hdparm
Страница man для объяснения того, почему это бессмысленно.)