Как узнать максимальный объем ввода-вывода, поддерживаемый физическим диском?
Мое приложение выполняет ввод-вывод, и я могу найтидействительныйпропускная способность (Blk_wrtn/s) с помощью команд linux. Но как мне узнать, какой максимальный предел я могу достичь? Я хочу знать, можно ли его дополнительно загрузить.
решение1
Очевидно, что использование инструментов Unix — самый простой способ сделать это. Вы можете измерить максимальную операцию, создав тестовый случай и используя соответствующие инструменты для измерения его производительности. Хороший ресурс можно найти здесь:LINUX - Тест скорости ЧТЕНИЯ и ЗАПИСИ хранилища
sudo hdparm -tT /dev/sdX
например, как тест на чтение.
А для измерения напишите:
dd if=/dev/random of=<some file on the hd> bs=8k count=10000; sync;
# Hit CONTROL-C after 5 seconds to get results
# 65994752 bytes (66 MB) copied, 21.8919 s, 3.0 MB/s
flag
Примечание
Как указано в комментариях, dd
команда также измеряет производительность файловой системы и даже /dev/random
. Она измеряет производительность записи среды, которая, однако, сильно зависит от производительности жестких дисков.
решение2
Blk_wrtn/s действительно зависит от типа рабочей нагрузки. Линейная запись намного быстрее, случайная запись может быть очень медленной. Поэтому вы не сможете сказать одно число, но есть много инструментов для моделирования и бенчмаркинга различных рабочих нагрузок, например iozone, dbench.
Теперь для мониторинга текущей нагрузки я обычно использую iostat. Например:
iostat -x 10
Последний столбец — %util, если он ниже 100, вы все равно можете поместить туда некоторую нагрузку ввода-вывода. Конечно, вы всегда хотите иметь некоторый резерв, поэтому 60-90% — это реалистичная цель, основанная на стабильности рабочей нагрузки и требуемой отзывчивости.
решение3
Вы можете использовать такой инструмент для сравнительного анализа, какБонни++
Из страницы руководства
Bonnie++ — это программа для тестирования жестких дисков и файловых систем на производительность или ее отсутствие. Существует множество различных типов операций с файловой системой, которые разные приложения используют в разной степени. Bonnie++ тестирует некоторые из них и для каждого теста выдает результат объема работы, выполненной в секунду, и процент времени ЦП, затраченного на это. Для результатов производительности лучше более высокие числа, для использования ЦП — более низкие (Примечание: конфигурация, дающая результат производительности 2000 и результат ЦП 90%, лучше с точки зрения использования ЦП, чем конфигурация, дающая производительность 1000 и использование ЦП 60%).