Система действительно ограничена дисковым вводом-выводом? Скорость на вершине намного ниже, чем ожидалось

406
DoRe

У меня есть система с двумя дисками SATA 2TByte, настроенная как массив Raid1.

Есть моменты, когда процессор ожидает ввода-вывода более 20% времени (вывод из sar), например

09:25:01 CPU %user %nice %system %iowait %steal %idle 09:35:01 all 57,65 0,00 6,53 25,54 0,05 10,23 15:45:01 all 0,90 0,00 1,47 54,90 0,06 42,68 15:55:04 all 1,74 0,00 1,58 88,52 0,10 8,06 16:25:03 all 0,59 0,00 0,38 24,14 0,05 74,84 23:45:05 all 2,45 0,00 1,43 31,56 0,05 64,50 

Я собрал дополнительную информацию, используя atopкоторую видно, что дисковый ввод-вывод на одном из raid-дисков находится в верхнем пределе (диск sda занят до 90%), например:

MDD | md1 | busy 0% | | read 10174 | write 425 | | KiB/r 6 | KiB/w 7 | MBr/s 1.2 | | MBw/s 0.1 | avq 0.00 | | avio 0.00 ms | DSK | sda | busy 90% | | read 9091 | write 507 | | KiB/r 6 | KiB/w 7 | MBr/s 0.9 | | MBw/s 0.1 | avq 1.14 | | avio 5.65 ms | DSK | sdb | busy 18% | | read 1082 | write 507 | | KiB/r 11 | KiB/w 7 | MBr/s 0.2 | | MBw/s 0.1 | avq 1.39 | | avio 6.82 ms | 

Man-страница, чтобы atopзаявить:

Такая строка показывает имя (например, VolGroup00-lvtmp для логического тома или sda для жесткого диска), процент занятости, т. Е. Часть времени, в течение которого устройство было занято обработкой запросов (занято), количество выданных запросов на чтение (чтение), количество выданных запросов на запись (запись), количество КиБайт на чтение (КиБ / г), количество КиБайт на запись (КиБ / Вт), количество МБайт в секунду для пропускной способности при чтении (МБр / с), количество мегабайт в секунду для пропускной способности записи (МБ / с), средняя глубина очереди (avq) и среднее количество миллисекунд, необходимых для запроса (avio) для поиска, задержки и передачи данных.

Информация может считываться параллельно с обоих дисков для raid1, но это не используется для отдельного потока последовательного ввода в соответствии со md страницей руководства, что объясняет тот факт, что второй диск используется не полностью

Глядя на записи MBr / s и MBw / s для sda, похоже, что диск занят на 90%

0,9 + 0,1 МБ / с = 1 МБ / с = 8 МБ / с

Однако ожидаемая скорость для текущих дисков составляет порядка 1000 Мбит / с, что примерно в 100 раз выше (без учета преобразования из MiBit в Мбит).

Диски есть (выход hdparm -I /dev/sda)

/dev/sda:  ATA device, with non-removable media Model Number: TOSHIBA DT01ACA200 Serial Number: 54A8UH4GS Firmware Revision: MX4OABB0 Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b Standards: Used: unknown (minor revision code 0x0029) Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 3907029168 Logical Sector size: 512 bytes Physical Sector size: 4096 bytes Logical Sector-0 offset: 0 bytes device size with M = 1024*1024: 1907729 MBytes device size with M = 1000*1000: 2000398 MBytes (2000 GB) cache/buffer size = unknown Form Factor: 3.5 inch Nominal Media Rotation Rate: 7200 Capabilities: LBA, IORDY(can be disabled) Queue depth: 32 Standby timer values: spec'd by Standard, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: disabled DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set * Write cache * Look-ahead * Host Protected Area feature set * WRITE_BUFFER command * READ_BUFFER command * NOP cmd * DOWNLOAD_MICROCODE Advanced Power Management feature set Power-Up In Standby feature set * SET_FEATURES required to spinup after power up SET_MAX security extension * 48-bit Address feature set * Device Configuration Overlay feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test Media Card Pass-Through * General Purpose Logging feature set * WRITE__FUA_EXT * 64-bit World wide name * URG for READ_STREAM[_DMA]_EXT * URG for WRITE_STREAM[_DMA]_EXT * WRITE_UNCORRECTABLE_EXT command * _DMA_EXT_GPL commands * Segmented DOWNLOAD_MICROCODE * unknown 119[7] * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Gen3 signaling speed (6.0Gb/s) * Native Command Queueing (NCQ) * Host-initiated interface power management * Phy event counters * NCQ priority information Non-Zero buffer offsets in DMA Setup FIS * DMA Setup Auto-Activate optimization Device-initiated interface power management In-order data delivery * Software settings preservation * SMART Command Transport (SCT) feature set * SCT Write Same (AC2) * SCT Error Recovery Control (AC3) * SCT Features Control (AC4) * SCT Data Tables (AC5) Security: Master password revision code = 65534 supported not enabled not locked frozen not expired: security count not supported: enhanced erase 320min for SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 5000039ffac402a6 NAA : 5 IEEE OUI : 000039 Unique ID : ffac402a6 Checksum: correct 

Является ли вывод или atopсправочная страница неправильными или жесткие диски не очень хорошо работают по сравнению с ожидаемым значением, или на моей стороне недоразумение?

Или более широкий вопрос: действительно ли моя система ограничена емкостью дискового ввода-вывода?

0

1 ответ на вопрос

0
Eugen Rieck

Ожидаемая последовательная скорость для текущих дисков составляет порядка 1000 Мбит / с, но это ничего не меняет для случайного ввода-вывода.

Диск 7200 об / мин будет выполнять около 120 случайных операций ввода-вывода в секунду. Таким образом, в худшем случае, когда вы всегда пишете только 1 байт, вы получите пропускную способность 120 байт / с.

Да, это означает, что между лучшим регистром (только последовательным) и наихудшим является порядка 3 десятичных порядков. Ваш результат в 1 КБ / с находится где-то посередине, но гораздо ближе к худшему.

Вы бы очень много выиграли от использования SSD: даже маленького, когда он используется как bcacheили LV cacheможет увеличить ваши случайные IOPS (особенно те болезненные мелкие записи) на порядки.

Пора начинать ценить надежные твердотельные накопители. K7AAY 5 лет назад 0

Похожие вопросы