Ситуация
Ты – DBA сервиса schetovod, это бухгалтерия для небольших компаний. Месячная сводка по счетам строится десятки секунд. Менеджеры ждут не молча: жмут кнопку еще раз, потом еще, и параллельные тяжелые запросы добивают базу окончательно.
Что известно:
- отчетный запрос –
/opt/schetovod/report.sql; разработчик отчетов стоит на своем: запрос идеальный, тормозит база. Текст запроса менять нельзя – на него завязан экспорт в 1С; - база – PostgreSQL:
psql -U postgres -d schetovod; в таблицеentries– три миллиона проводок; - витрина отчета – вкладка Браузер (:8000): кнопка Сформировать отчет показывает, сколько он строился;
- тикет поддержки –
/root/ticket-2214.txt; - цифры отчета измениться не должны – их сверяет бухгалтерия.
Дальше – сам: найди, куда уходят секунды, и ускорь отчет на порядок средствами базы.
Что нужно сделать
5 обязательных пунктов
Найти, куда уходят секунды
