Iozone: разумные настройки для сервера с большим количеством оперативной памяти
Я только что приобрел сервер с:
2x четырехъядерные Xeons
48G ECC RAM
5x 160 ГБ SSD на LSI 9260-8i
Перед развертыванием целевой платформы я хотел бы собрать как можно больше тестовых данных, протестировав ввод-вывод с аппаратным RAID в различных конфигурациях, ZFS zRAID, а также производительность ввода-вывода в vSphere и с виртуализацией KVM. Чтобы увидеть реальную производительность дискового ввода-вывода без эффектов кэширования, я попытался запустить Iozone с максимальным файлом, более чем в два раза превышающим объем физической ОЗУ, как рекомендовано в документации, поэтому:
iozone -a -g100G
Однако, как и следовало ожидать, это занимает слишком много времени, чтобы быть практически осуществимым. (Я остановил бег через семь часов..)
Я хотел бы уменьшить диапазон размеров записей и файлов до значений, которые могут отражать реалистичную производительность сервера приложений, и, надеюсь, время выполнения будет меньше часа или около того.
Есть идеи?
Благодарю.
2 ответа
Для сервера с таким большим количеством оперативной памяти флаг прямого ввода-вывода - ваш друг. Это -I
флаг:
-I Use VxFS VX_DIRECT, O_DIRECT,or O_DIRECTIO for all file operations
Это скажет ему не кэшировать блоки или файлы, а ждать, пока система хранения скажет, что запись полностью зафиксирована, прежде чем двигаться дальше. Производительность по понятным причинам будет хуже, чем если бы вы могли использовать блочный кеш, но по крайней мере ваши тестовые прогоны будут завершены в разумные сроки, и вы сможете получить сравнение по отношению друг к другу для каждой из ваших конфигураций хранилища.
Мне не совсем понятно, какой у вас вопрос. Если это касается самой iozone, то извините, у меня нет ничего другого, что можно было бы предложить, что еще не было сказано.
В противном случае, если вы также ищете другие инструменты для сбора статистики по базовым контрольным показателям - рассматривали ли вы возможность попробовать иометр? Помимо строгих тренировок на диске, это позволит вам также отслеживать характеристики производительности сетевого ввода-вывода и работать на нескольких платформах.
Будете ли вы также следить за производительностью самого ESX? Затем вы посмотрите на esxtop, который покажет вам процессор, прерывания, память, сеть, интерфейс диска, виртуальную машину и статистику управления питанием.