← Все проекты
2026 · Performance-инженер / DBA

Оптимизация БД и сценариев контакт-центра

Контакт-центр зависал: звонки стояли в очереди при свободных операторах.

Задача

Найти причину деградации и убрать её без остановки контакт-центра.

Что сделано

  • Доказал, что процесс телефонии не зависает, и локализовал проблему в SQL Server.
  • Атрибуция ошибок по логам с покрытием 99,6%: около 44 тыс. ошибок БД и 3,4 тыс. дедлоков в сутки.
  • Разобрал дедлоки по system_health и опроверг гипотезу внешнего блокировщика.
  • Переписал проблемные запросы: батчи с READPAST, SARGable-диапазоны, индексы под планы.
  • Включил RCSI и безопасно очистил историю: 18,2 млн → 6,9 млн строк порциями.
  • Удалил нерабочие сценарии и панели, ввёл замер SET STATISTICS IO до и после.

Результат

340 млнчтений в сутки снято
3,4 тыс.дедлоков в сутки
11 млнстрок очищено

Схема

OktellIVR · сценарииSQL Servercompat 100Exception logsатрибуцияDeadlock analysissystem_healthQuery rewriteREADPAST · SARGableRCSI + indexesпод планыGrafanaдо / послеHistory cleanup18,2 → 6,9 млн