Я пытаюсь проанализировать требования к серверу для набора виртуальных машин. Мы используем на них LVM, поэтому iostat показывает числа как для логического тома, так и для физического диска, и они часто не совпадают на уровне транзакции, и я пытаюсь решить, какая метрика имеет значение: tps или общее количество прочитанных блоков + написано, а для физического диска или лв? Я предполагаю, что общее количество блоков физического диска, но tps будет учитывать запросы, которые блоки не будут, что будет важно, поскольку ключевое решение заключается в том, можем ли мы уйти от запуска их на массиве вращающихся дисков вместо флэш-памяти. диски, которыми они являются в настоящее время (мы собираемся удвоить объем хранилища).
Вывод «iostat 10»:
avg-cpu: %user %nice %system %iowait %steal %idle
2.38 1.35 1.40 0.69 0.00 94.19
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 225.48 2922.30 3511.65 79987371570 96118589648
sda 1.92 11.86 39.47 324647920 1080458180
dm-0 5.00 10.57 38.62 289229114 1057115528
dm-1 0.27 1.29 0.85 35343720 23342584
dm-3 414.45 1501.13 3393.89 41087911850 92895186296
avg-cpu: %user %nice %system %iowait %steal %idle
7.74 0.06 4.88 0.63 0.00 86.69
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 259.54 527.47 28098.30 5280 281264
sda 1.20 0.00 20.78 0 208
dm-0 2.60 0.00 20.78 0 208
dm-1 0.00 0.00 0.00 0 0
dm-3 3515.48 527.47 28097.50 5280 281256
avg-cpu: %user %nice %system %iowait %steal %idle
3.00 0.04 0.56 0.43 0.00 95.98
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 96.20 893.69 2175.78 8928 21736
sda 0.70 0.80 19.22 8 192
dm-0 2.40 0.00 19.22 0 192
dm-1 0.10 0.80 0.00 8 0
dm-3 267.77 893.69 2175.78 8928 21736
avg-cpu: %user %nice %system %iowait %steal %idle
2.80 0.01 0.64 0.73 0.00 95.83
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 110.50 1284.80 2376.00 12848 23760
sda 0.80 0.00 15.20 0 152
dm-0 1.90 0.00 15.20 0 152
dm-1 0.00 0.00 0.00 0 0
dm-3 272.30 1284.80 2376.00 12848 23760
Сумма TPS физических томов приблизительно равна IOPS. Случайные операции ввода-вывода в секунду, поскольку каждая виртуальная машина выполняет операции ввода-вывода для разных частей базового хранилища. Вы можете получить 100 случайных операций ввода-вывода в секунду на шпинделе с более низкой стоимостью за ГБ. Гораздо больше от твердотельного хранилища при более низкой стоимости операций ввода-вывода в секунду.
То, что вам может сойти с рук, зависит от вашей производительности, а потребности в емкости ограничены такими вещами, как количество дисков, помещающихся в вашем массиве, и сколько вы хотите потратить на его питание.
Если вы хотите, например, время отклика менее 1 мс, это подразумевает твердотельное состояние. Даже самые лучшие шпиндельные массивы не могут получить малое время отклика в миллисекундах при промахе в кэше.
Этот ответ говорит, что ядро linux оптимизирует транзакции до того, как они перейдут на уровень физического тома (PV), поэтому другое значение tps
.
Рекомендации по требованиям к производительности хранилища (для большинства систем - не для всех!):
tps
, когда вы смотрите на PV (sda
не dm-3
)Blk_read/s
) наиболее актуально для полного резервного копированияBlk_wrtn/s
) наиболее актуален для восстановления из резервной копии; обычно невидимы в инструментах для сбора