У меня есть система с двумя дисками 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 , которая показывает, что диск I/O на одном из 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 |

Страница atop заявляет:

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

Информация может считываться параллельно с обоих дисков для raid1, но это не используется для отдельного потока последовательного ввода в соответствии с man-страницей 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_{DMA|MULTIPLE}_FUA_EXT
* 64-bit World wide name
* URG for READ_STREAM[_DMA]_EXT
* URG for WRITE_STREAM[_DMA]_EXT
* WRITE_UNCORRECTABLE_EXT command
* {READ,WRITE}_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 неправильными, или жесткие диски не очень хорошо работают по сравнению с ожидаемым значением, или на моей стороне недоразумение?

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

1 ответ1

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .