No free media ports

oioki

New Member
Добрый день.
Столкнулись с еще одной проблемой. 17 ноября в 15:26:30 UTC один из Edge-серверов стал выдавать ошибку:
Code:
com.flashphoner.sdk.softphone.exception.PortsBusyException: getMediaPort No free media ports available free: 0 busy: 3494 quarantine: 0 leaked: 0 [[]]
Ниже график, строящийся по выводу "ss -aun | wc -l". Проблемный сервер b-eu7. Сервер b-eu8 дан для сравнения. Судя по этому графику, использованных UDP-портов не так много.
Ошибка продолжается до сих пор. Отправил архив с логами на logs@flashphoner.com
 

Max

Administrator
Staff member
Добрый день.
Попробуйте установить последний апдейт 2566 на этом сервере.
И добавить следующие строки в log4j.properties
Code:
log4j.logger._com.flashphoner.media.MediaSession=DEBUG
log4j.logger.MediaPortsManager=DEBUG
В результате должны появиться дебаговые логи, отслеживающие утилизацию портов.
Если проблема повторится, пришлите логи или доступ к серверу. Проверим.
Логи нужны все, что есть в папке WCS_HOME/logs за последний час-два работы сервера.
 

oioki

New Member
Добрый день.
Обновили апдейт, включили логи, теперь собираем кол-во свободных портов на отдельном графике.
Также расширили диапазон портов до [11000;65535], наблюдаем за ситуацией.
Спасибо.
 

oioki

New Member
Добрый день!
Увеличили диапазон медиа портов вчера в 13:40 UTC, порты так же "утекают". Нагрузку убрали в 22:00 UTC. Похоже, порты не высвобождаются.
Отправил на logs@flashphoner.com архив со всеми логами за вчера и сегодня.
График, полученный парсингом лога по строке "MediaPortsManager.*audit":
 

Max

Administrator
Staff member
Воспроизвели в нагрузочных тестах похожую проблему. Разбираемся.
 

oioki

New Member
Добрый день.
Есть ли новая информация по этой проблеме?
 

Max

Administrator
Staff member
Пока не можем отследить как именно утекает порт и это не воспроизводится в синтетических тестах.
Продолжаем искать причину.
 

oioki

New Member
Добрый день.
Нужна ли дополнительная помощь? Можем предоставить доступ к серверу во время тестирования на небольшом трафике.
Также есть предположение, что проблема возникает из-за того, что наше клиентское приложение, в случае, если стрим еще не существует, запрашивает его раз в секунду внутри сокета (message playStream).
По большому счету, это основная проблема, которая нас останавливает от ввода WCS в продакшен. Очень хочется ее исправить.
 

Max

Administrator
Staff member
Добрый день,

В сборке 2589 исправлена утечка портов. Проверьте, пожалуйста, эту сборку.
 

oioki

New Member
Обновили серверы. Завтра утром запустим часть пользователей.
 

oioki

New Member
Добрый день.
К сожалению, порты продолжают утекать. Яркий пример - на сервере b-eu7 с 11:20-11:25. Отправил на logs@flashphoner.com новые логи этого сервера за сегодняшний день.
11:20-11:25 на графике (UTC) соответствуют 12:20-12:25 в логах.
Обратил внимание, что в некоторых клиентских логах есть много записей "Slow video", а в серверных - "playStream actualSession doesn't exists". Может быть, они как-то связаны?
 

Max

Administrator
Staff member
Добрый день,

Исправлено в сборке 2601. Происходило при получении запросов playStream с SDP вида
Code:
o=- 4167531887478708343 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
Например, в логе flashphoner.log.2017-11-28-12 - 12:20:35,475 (клиент - Sаfari, iOS 11.0.1).
 

oioki

New Member
Запустили трафик 4 часа назад. Пока проблема не проявлялась. Наблюдаем.
 
Last edited:
Top