Дело такое: астериск с режимом реалтайм на бд mysql. Абонентов порядка 500, все по SIP'у. Диалпланы большие с фантазиями (генерятся скриптами на основе настроек абонентов). Одновременных вызовов: 40-50 в рабочее время. Шуршит и радует.
Но, путем использования SIPP выяснилось (хотя, конечно, сначала пожаловались недовольные абоненты), что при наличии 7-8 одновременных запросов на вызов астериск, выполняя диалплан, начинает тормозить, прямо открываешь cli и видишь: ба, все строки диалплана вперемешку выполняются, но очень медленно. Спустя минуту-две-три астериск их пережевывает и люди дозваниваются.
Вопрос: как оптимизировать?
Уже проделанные действия:
Уменьшить количество запросов к БД. Ок, раньше пользовался приложениями диалплана MYSQL, теперь использую ODBC. Некоторые запросы переделал. Кеширование есть. Вроде быстрее стало. Но 7-8 одновременных запросов и тормоза на месте.
В дебаг-режиме выяснено, что астериск регулярно опрашивает БД на предмет диалплана. Примерно раз в минуту. Пробегает по всем switch'ам, дублируя запросы SQL. Что с этим делать и надо ли это?
Подскажите, пожалуйста, в какую сторону копать.
движок у MySQL не пробовали менять - InnoDB на MyISAM и наоборот...? еще попробуйте выключить srvlookup - поставьте "srvlookup=no"- у меня такое было, возможно тормоза при опросе обратного DNS.
octopas (Jun 24 '13)editRaid тормозит ? пора переходить на более быстрый ?
awsswa (Jun 24 '13)editдля высоконагруженных систем по-моему лучший вариант - хотя-бы пара memcached серверов в связке с https://github.com/drivefast/asterisk-res_memcached. соответственно хранить пользовательские настройки там (а не весь диалплан) и делать периодический бэкап в peristent storage.
octopas (Jun 24 '13)editInnoDB давно уже использую. srvlookup=no стоит. raid? тулза говорит, что даже до средних показателей еще далеко. за расширение астериска в memcached - спасибо, затестирую на стенде
obamo (Jun 24 '13)editГосподи, так вы еще это на простом компе гоняете ? я то думал что у вас сервер загибается он нагрузки .... 500 абонентов и вы не можете 2000$ выделить на сервер с аппаратным райдом ... а потом легенды ходят ип телефония это не надежно
awsswa (Jun 24 '13)edit2 awsswa: сервер нормальный, пожалуйста, без эмоций. на нагрузку я не жалуюсь, сервер в рабочее время максимум загружен по процессам и памяти процентов на 20-25 и работает достаточно надежно - за полтора года почти "ни единого разрыва" : )
obamo (Jun 25 '13)edit