Нагрузочное тестирование базы данных, подключенной к сетевому устройству хранения

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

  • У меня есть тестовый инструмент, который я создаю и который запускает настраиваемое количество потоков, запускающих SQL-запрос (также настраиваемый, и думает о том, чтобы он мог запускать несколько запросов).
  • использование утилиты SQLIOSim для имитации активности SQL Server
  • Копирование очень больших объемов данных на устройство и обратно (одновременно)

Может ли кто-нибудь придумать что-нибудь еще, что мы могли бы сделать (это повторяется) для размещения нагрузки в системе.

4 ответа

Решение

Вы также захотите смоделировать состояние сети между вашей базой данных и NAS. Чем больше трафика попадает в сеть, тем ниже его реальное использование, и это серьезно повлияет на вашу производительность.

В качестве примера. Если у вас есть 50 машин в сети 1 Гбит / с, и сеть приближается к 100% -ной загрузке, коллизии пакетов и повторные попытки на уровне канала передачи данных означают, что ваша эффективная общая передача является частью потенциала сети, который был бы реализован, если бы у вас было только два коммуникатора. в сети. Что еще хуже, с увеличением числа попыток увеличивается и эффективная нагрузка. Вы получаете уродливую петлю обратной связи перед лицом пикового спроса.

Существует множество симуляторов и генераторов сетевого трафика, хотя, боюсь, я никогда не использовал ни одного из них.

Вы можете взглянуть на Pole Position, универсальный пакет для тестирования производительности базы данных. http://www.polepos.org/

В зависимости от целей, которые вы хотите достичь с помощью нагрузочного тестирования, вы также можете захотеть использовать SQLIO, а не только SQLIOSim. SQLIOSim очень хорош для стресс-тестирования и имитации нагрузки на SQL Server и будет переходить с зеленого на красный, если обнаружит какие-либо ошибки ввода-вывода. Его вывод немного загадочный, хотя KKline дает некоторое представление.

SQLIO полезен, если вы хотите выполнять одну операцию непрерывно, например, большие случайные чтения, большие последовательные записи и все что между ними. Это также даст вам несколько полезных выходных статистических данных, которые вы можете построить график и использовать для сравнения.

Вы можете попробовать IoMeter от Intel

Другие вопросы по тегам