Я пишу плагин для JMeter для автоматизации тестирования загрузки базы данных. Основная идея плагина - создать автоматизированный тест загрузки базы данных при предоставлении минимальной информации (строка подключения, количество пользователей, пропускная способность, схемы тестируемых таблиц и т.д.). Я понимаю, что такой случайный тест не соответствует реальному поведению пользователя, но цель состоит в том, чтобы запустить тест за несколько минут и получить статистику работы с БД, например, выбор или DML-запрос времени ответа.
Какой аспект базы данных можно протестировать автоматически? Как я могу автоматически проверять эти аспекты? Например, таблицы, индексы, триггеры, функции... Какую статистику я могу получить таким образом? Есть ли подобное программное обеспечение? У тебя есть идеи? :)
Сначала я получаю метаданные из БД для всех таблиц и создаю запросы (DML и все возможные варианты для 1 таблицы) из существующих данных в БД и помещаю их в очередь. Затем сэмплер получает запрос из очереди и выполняет его.
Я считаю, что вы должны начать с официальной документации, такой как построение плана тестирования базы данных.
После того, как вам будет удобно с настройками конфигурации JDBC Connection, у вас будет ojdbc6.jar
в ojdbc6.jar
пути ojdbc6.jar
JMeter (обычно /lib) и вы сможете выполнить образец запроса, например select sysdate from dual;
вы можете начать изучать, используя JDBC Sampler в руководстве JMeter 2.6 для получения дополнительной информации.
Несколько вопросов, которые помогут вам добраться до места, где вы собираетесь в первую очередь.
1) Каковы точные показатели, которые вы хотите проверить? 2) Является ли это для сравнения разных серверов баз данных/конечных продуктов, или это для конкретной базы данных, чтобы определить, насколько хорошо настроены ваши индексы? 3) Будет ли это создание нескольких параллельных подключений для проверки блокировки записей и т.д.?