SQL Watch 2.0: Профайлинг SQL запросов

Feb 01, 2010 10:26

По сравнению с первой версией оформил библиотеку в виде jar файла
и добавил функцию профайлинга.

Как это работает:
1. Профайлер слушает SQL запросы от JDBC драйвера (пока только MySQL)
2. Если новый запросов не поступает в течении N-цати секунд, профайлер печатает статистику.

----------- >> begin >> queries profiling report >> -----------
Table Name Requests (of total %) /Unique Requests | Useless % | Time (of total %)|
staff = 88 ( 9%) / 10 | 89% | 32ms ( 16%)|
film = 87 ( 9%) / 10 | 89% | 0ms ( 0%)|
address = 87 ( 9%) / 10 | 89% | 31ms ( 15%)|
rental = 86 ( 9%) / 10 | 88% | 0ms ( 0%)|
payment = 85 ( 9%) / 10 | 88% | 31ms ( 15%)|
actor = 76 ( 8%) / 10 | 87% | 16ms ( 8%)|
language = 73 ( 7%) / 10 | 86% | 62ms ( 31%)|
category = 72 ( 7%) / 10 | 86% | 15ms ( 7%)|
store = 72 ( 7%) / 10 | 86% | 0ms ( 0%)|
customer = 72 ( 7%) / 10 | 86% | 16ms ( 8%)|
inventory = 72 ( 7%) / 10 | 86% | 0ms ( 0%)|
country = 69 ( 7%) / 10 | 86% | 0ms ( 0%)|
city = 61 ( 6%) / 10 | 84% | 0ms ( 0%)|
TOTAL 468 ms >>> = 1000 ( 100%) / 130 | 87% | 203ms (100%)|
----------- >> end >> [Memory 3M Free/ 4M Total] >> -----------

Подробное описание отчёта профайлера, функции отдаки и этапы конфигурирвоание
представлено на сайте проекта sqlwatch.

Зачем это нужно.
Проблем с производительностью запросов может быть две:
1. Конкретные запросы выполняются медленно
2. Либо выполняется много быстрых запросов на выборку одних и тех же данных
Второй пункт неплохо решается кешированием на уровне клиента (JPA),
тем не менее если одни и теже данные дёргаются много много раз что бы
отобразить одну страницу - скорее всего что то не так.

Зачем это нужно мне:
1. Использую библиотеку в рабочем проекте уже почти год, помогла решить много проблем.
2. Было бы классно получить замечания по дизайну утилитиы.
3. Если не секрет, расскажите какие результаты получили вы.

UPD: исправил баг с профайлингом медленных SQL запросов, теперь сообщения
о них печатаются корректно.

java, jdbc, mysql

Previous post Next post
Up