Автоматизировать нагрузочное тестирование базы данных

1

Я пишу плагин для JMeter для автоматизации тестирования загрузки базы данных. Основная идея плагина - создать автоматизированный тест загрузки базы данных при предоставлении минимальной информации (строка подключения, количество пользователей, пропускная способность, схемы тестируемых таблиц и т.д.). Я понимаю, что такой случайный тест не соответствует реальному поведению пользователя, но цель состоит в том, чтобы запустить тест за несколько минут и получить статистику работы с БД, например, выбор или DML-запрос времени ответа.

Какой аспект базы данных можно протестировать автоматически? Как я могу автоматически проверять эти аспекты? Например, таблицы, индексы, триггеры, функции... Какую статистику я могу получить таким образом? Есть ли подобное программное обеспечение? У тебя есть идеи? :)

Сначала я получаю метаданные из БД для всех таблиц и создаю запросы (DML и все возможные варианты для 1 таблицы) из существующих данных в БД и помещаю их в очередь. Затем сэмплер получает запрос из очереди и выполняет его.

  • 0
    Я использую Oracle Database для тестирования вначале
  • 1
    Это очень широкий вопрос, на который, вероятно, требуется книга. Вы можете сузить это?
Показать ещё 2 комментария
Теги:
database
jmeter
automated-tests
load-testing

2 ответа

0

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

После того, как вам будет удобно с настройками конфигурации JDBC Connection, у вас будет ojdbc6.jar в ojdbc6.jar пути ojdbc6.jar JMeter (обычно /lib) и вы сможете выполнить образец запроса, например select sysdate from dual;

вы можете начать изучать, используя JDBC Sampler в руководстве JMeter 2.6 для получения дополнительной информации.

  • 0
    спасибо :) Мне больше интересны идеи автоматизации. Недавно я написал плагин для JMeter, который автоматически генерирует случайную загрузку БД. Теперь я думаю о том, чтобы сделать алгоритм более изощренным для генерации выбора с объединением множества таблиц, генерирования обновлений для разных количеств строк за один раз.
0

Несколько вопросов, которые помогут вам добраться до места, где вы собираетесь в первую очередь.

1) Каковы точные показатели, которые вы хотите проверить? 2) Является ли это для сравнения разных серверов баз данных/конечных продуктов, или это для конкретной базы данных, чтобы определить, насколько хорошо настроены ваши индексы? 3) Будет ли это создание нескольких параллельных подключений для проверки блокировки записей и т.д.?

  • 0
    1) По моему мнению, такой автоматизированный тест должен использовать как можно больше метрик и метрик, которые имеют смысл в таком тесте. Сначала я не хочу использовать время отклика, среднее время отклика, частоту ошибок, пропускную способность, использование памяти и ЦП.
  • 0
    2) именно для конкретной базы данных можно определить, насколько хорошо настроены ваши индексы. 3) Да. Я хочу загрузить БД с помощью выбора / обновления / вставки / удаления одновременно и по отдельности

Ещё вопросы

Сообщество Overcoder
Наверх
Меню