У меня две коробки с точно такой же аппаратной конфигурацией. Оба имеют 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 tool на обеих машинах.
Вывод на поле, в котором возникает проблема:
# 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
Я думаю, что у @DavidSchwartz есть правильная идея, очевидно, проблема в другом, поскольку скорости дисков выглядят очень похожими.
Лучший ресурс, который я видел для отслеживания проблем, связанных с производительностью, - это использование Метод использования описан Бренданом Греггом. Поскольку вы используете Linux, есть связанный пост также им, который специально разработан для Linux.
Показатели чтения с диска находятся в пределах примерно 10 процентов. Я бы не стал беспокоиться о такой маленькой разнице. (Кэшированные операции чтения не являются дисковым вводом-выводом и не имеют ничего общего с вашими дисками или вводом-выводом. См. hdparm
справочную страницу для объяснения того, почему это бессмысленно.)