2026 · Performance-инженер / DBA
Оптимизация БД и сценариев контакт-центра
Контакт-центр зависал: звонки стояли в очереди при свободных операторах.
- T-SQL
- Oktell
- Python
- Grafana
Задача
Найти причину деградации и убрать её без остановки контакт-центра.
Что сделано
- Доказал, что процесс телефонии не зависает, и локализовал проблему в SQL Server.
- Атрибуция ошибок по логам с покрытием 99,6%: около 44 тыс. ошибок БД и 3,4 тыс. дедлоков в сутки.
- Разобрал дедлоки по system_health и опроверг гипотезу внешнего блокировщика.
- Переписал проблемные запросы: батчи с READPAST, SARGable-диапазоны, индексы под планы.
- Включил RCSI и безопасно очистил историю: 18,2 млн → 6,9 млн строк порциями.
- Удалил нерабочие сценарии и панели, ввёл замер SET STATISTICS IO до и после.
Результат
340 млнчтений в сутки снято
3,4 тыс.дедлоков в сутки
11 млнстрок очищено