SQL-запросы производительности
У нас есть две идентичные квартальные стойки Oracle Exadata, каждая из которых запускает пару экземпляров базы данных. Мои тесты производительности с мокрым пальцем в полете показывают, что он работает на четверть скорости другой.
Есть ли набор SQL-запросов, которые можно запускать с помощью таймеров, которые дали бы более научное сравнение производительности запросов между двумя серверами?
Я знаю, что я мог бы написать набор запросов. Мне интересно, существует ли уже стандартный эталонный тест. Что-то вроде нескольких запросов на создание таблицы, за которыми следуют итеративные инструкции вставки (множество случайных данных), индексы, ограничения, триггер, функции, сценарии создания proc и представления (предпочтительно, включая материализованные представления), а затем множество сложных запросов, которые растягивают движок бит с объединениями, срабатывание триггера, функции и запросы proc и т.д.... при написании статистики производительности в некоторых временных таблицах?
Кто-нибудь сталкивается с такой библиотекой/инструментом/ script -set?
Ответы
Ответ 1
Попробуйте запустить awrgrpt.sql для каждой стойки и сравните вывод. Обычно он найден здесь ${ORACLE_HOME}/rdbms/admin/awrgrpt.sql
Это даст вам кучу информации, такой как события ожидания и верхняя статистика sql. Должен дать вам представление о том, почему ухудшилась производительность по сравнению с другой.