Оптимизация SQL запросов билинга - UTM5_SQLQueryAnalyzer

Технические вопросы по UTM 5.0
Ответить
Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Оптимизация SQL запросов билинга - UTM5_SQLQueryAnalyzer

Сообщение Kayfolom »

Написал приложение для анализа отладочных логов на предмет оптимизации SQL запросов билинга.
Довольно интересные результаты анализа. Несколько индексов таблиц в базе билинга добавил и подправил.

Приложение выкладываю на гитхаб, возможно кому то еще пригодится. Там исходники (Delphi) и в релизах собранный exe (x64).
https://github.com/EvgeniyKorepov/UTM5_SQLQueryAnalyzer

Сначала хотел реализовать на php, но на определенном этапе столкнулся с нехваткой памяти (у меня 16 гигабайт оперативки). Поборов нехватку памяти, понял что выполнятся будет около 2-3 часов.
На Delphi обработка 10 файлов, суммарным объемом 3 гигабайта, занимает около 30 секунд.

Инструкция по эксплуатации:
  • Поместите приложение в папку
    В папке с приложением создайте папку Logs
    Скопируйте в папку Logs любое количество файлов отладочного (debug) журнала билинга
    Запустите приложение
    Изучайте файл SQLQueriesResult.txt с результатами анализа
Файл с результатами можете посмотреть на гитхабе https://raw.githubusercontent.com/Evgen ... Result.txt

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Забыл добавить - поддерживаются логи начиная с версии билинга 5.3.x. Т.е. запросы в логах должны выглядеть вот так:

Код: Выделить всё

Jun 10 00&#58;31&#58;02 ?Debug &#58; b42f1b40 DBConnection_mysql&#58; <0x8ea2c98> SQL SELECT query&#58; SELECT ipsl.id,sl.account_id FROM iptraffic_service_links AS ipsl, service_links AS sl WHERE ipsl.is_deleted='0' AND ipsl.ip_group_id='9500' AND ipsl.id=sl.id
Jun 10 00&#58;31&#58;02 ?Debug &#58; b42f1b40 DBConnection_mysql&#58; <0x8ea2c98> SQL SELECT query&#58; 1 rows in 0.000 sec

Ответить