Добрый день. У вас на сервере есть две настройки, которые могут спровоцировать утечку памяти или переполнение открытых файловых дескрипторов:
1. keep_alive.algorithm=NONE
2. enable_extended_logging=true
Эти две настройки могли вызвать остановку сервера, связанную с утечкой памяти.
Ниже рекомендации по настройкам для продакшена.
Рекомендуемые настройки:
server.properties
#Включаем кипаливы чтобы избежать утечки памяти
#Оставляем кипаливы только для websocket и rtmfp. Не добавляем в список rtmp, иначе будет отваливаться ffmpeg
flashphoner.properties
#Выставляем приоритет для кодека H.264, т.к. большинство входящих стримов идет с Flash H.264 и это поможет избежать транскодинга и снизить использование CPU.
#Включаем мониторинг стримов, чтобы иметь возможность мониторить стримы через Dashboard / Monitoring / Streams
#Эту настройку нужно использовать только для дебага и отключать в продакшене. Пишет много логов. При нерабочих keep alives может вызывать утечку памяти.
wcs-manager.properties
#Если позволяет память, увеличиваем heap для процесса wcs manager
wcs-core.properties
#Включаем поддержку мониторинга с помощью Visual VM
https://flashphoner.com/docs/wcs5/w...html?monitoring-connection_from_visual_vm.htm
Относительно проблемы со стримами. Явных проблем обнаружить не удалось. Какие-то стримы играют, какие-то закрываются.
Если пользователя "выбросило" или неожиданно остановился стрим, нужно дать пользователю возможность отправить оценку качества, например "Все отлично" или "Нет видео" или "Выбросило из чата" и зафиксировать IP адрес этого пользователя. Тогда будет понятно, что пользователь явно указал на проблему и у нас будет его IP и время обращения для поиска по логам. Без этого трудно сказать, сам пользователь закрыл браузер или произошел какой-то сбой.
Пример мониторинга стрима.
Чтобы выяснить, что стрим жив, можно проверить его таймкоды. В нормальном состоянии линии синяя и оранжевая (аудио и видео таймстампы) идут монотонно в верх под углом около 45%.
Dashboard / Monitoring / Streams
Подробнее описано выше.
1. keep_alive.algorithm=NONE
2. enable_extended_logging=true
Эти две настройки могли вызвать остановку сервера, связанную с утечкой памяти.
Ниже рекомендации по настройкам для продакшена.
Рекомендуемые настройки:
server.properties
#Включаем кипаливы чтобы избежать утечки памяти
Code:
keep_alive.algorithm=INTERNAL
Code:
keep_alive.enabled=websocket,rtmfp
#Выставляем приоритет для кодека H.264, т.к. большинство входящих стримов идет с Flash H.264 и это поможет избежать транскодинга и снизить использование CPU.
Code:
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
Code:
stats=true
Code:
enable_extended_logging=false
#Если позволяет память, увеличиваем heap для процесса wcs manager
Code:
-Xms512M -Xmx2048M
#Включаем поддержку мониторинга с помощью Visual VM
https://flashphoner.com/docs/wcs5/w...html?monitoring-connection_from_visual_vm.htm
Code:
-Djava.rmi.server.hostname=xx.95.103.xx
Если пользователя "выбросило" или неожиданно остановился стрим, нужно дать пользователю возможность отправить оценку качества, например "Все отлично" или "Нет видео" или "Выбросило из чата" и зафиксировать IP адрес этого пользователя. Тогда будет понятно, что пользователь явно указал на проблему и у нас будет его IP и время обращения для поиска по логам. Без этого трудно сказать, сам пользователь закрыл браузер или произошел какой-то сбой.
Пример мониторинга стрима.
Чтобы выяснить, что стрим жив, можно проверить его таймкоды. В нормальном состоянии линии синяя и оранжевая (аудио и видео таймстампы) идут монотонно в верх под углом около 45%.
Dashboard / Monitoring / Streams
Скорее всего из-за утечки или переполнения файловых дескрипторов.Хотелось бы понимания - почему
Подробнее описано выше.