Здравствуйте!
Мы на нашем проекте используем WCS 5.2.567. У нас сервера примерно одинаковой конфигурации: 2 × Intel Xeon E5-2630v3 2.4 ГГц (всего 16 ядер получается), 64 ГБ DDR4. Мы тестировали через консоль админки WCS, просто вытягивая потоки. 360p без транскодинга получалось максимум 450 исходящих при одном входящем, потом видео начинает тормозить и появляется рассинхрон со звуком. Судя по документации на такой железке должно получаться до 1000 держать. Есть предположение, что мы что-то не так настроили, к тому же, мы добавляли много опций просто наугад. И еще, у нас сервера на Ubuntu 18, есть ли смысл пробовать CentOS? Ниже настройки, которые мы меняли:
Flashphoner.properties
...
#codecs
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
codecs_exclude_sip =mpeg4-generic,flv,mpv
codecs_exclude_streaming =flv,telephone-event
codecs_exclude_sip_rtmp =opus,g729,g722,mpeg4-generic,vp8,mpv
#websocket ports
ws.port =8080
wss.port =8443
#added
cpu_load_avg_size=50
streaming_distributor_queue_size = 1000
streaming_processor_queue_size = 1000
rtp_receive_buffer_size=13107200
rtp_send_buffer_size =13107200
webrtc_cc2_twcc=false
streaming_video_decoder_fast_start=false
webrtc_cc_min_bitrate=500000
webrtc_cc_max_bitrate=1500000
webrtc_aes_crypto_provider=JCE
disable_rest_requests=true
rest_max_connections=1000
transcoding_disabled=true
enable_extended_logging=false
ws_read_socket_timeout=false
wcs-core.properties
...
### JVM OPTIONS ###
-Xmx32g
-Xms32g
#-Xcheck:jni
# Can be a better GC setting to avoid long pauses
-XX:+UseConcMarkSweepGC -Xms32g -Xmx32g -XX:NewSize=8g -XX:MaxNewSize=8g
#Disable heuristic rules
-XX:+UseCMSInitiatingOccupancyOnly
#Reduce Old Gen threshold
-XX:CMSInitiatingOccupancyFraction=70
...
Мы также следовали рекомендациям отсюда.
Мы на нашем проекте используем WCS 5.2.567. У нас сервера примерно одинаковой конфигурации: 2 × Intel Xeon E5-2630v3 2.4 ГГц (всего 16 ядер получается), 64 ГБ DDR4. Мы тестировали через консоль админки WCS, просто вытягивая потоки. 360p без транскодинга получалось максимум 450 исходящих при одном входящем, потом видео начинает тормозить и появляется рассинхрон со звуком. Судя по документации на такой железке должно получаться до 1000 держать. Есть предположение, что мы что-то не так настроили, к тому же, мы добавляли много опций просто наугад. И еще, у нас сервера на Ubuntu 18, есть ли смысл пробовать CentOS? Ниже настройки, которые мы меняли:
Flashphoner.properties
...
#codecs
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
codecs_exclude_sip =mpeg4-generic,flv,mpv
codecs_exclude_streaming =flv,telephone-event
codecs_exclude_sip_rtmp =opus,g729,g722,mpeg4-generic,vp8,mpv
#websocket ports
ws.port =8080
wss.port =8443
#added
cpu_load_avg_size=50
streaming_distributor_queue_size = 1000
streaming_processor_queue_size = 1000
rtp_receive_buffer_size=13107200
rtp_send_buffer_size =13107200
webrtc_cc2_twcc=false
streaming_video_decoder_fast_start=false
webrtc_cc_min_bitrate=500000
webrtc_cc_max_bitrate=1500000
webrtc_aes_crypto_provider=JCE
disable_rest_requests=true
rest_max_connections=1000
transcoding_disabled=true
enable_extended_logging=false
ws_read_socket_timeout=false
wcs-core.properties
...
### JVM OPTIONS ###
-Xmx32g
-Xms32g
#-Xcheck:jni
# Can be a better GC setting to avoid long pauses
-XX:+UseConcMarkSweepGC -Xms32g -Xmx32g -XX:NewSize=8g -XX:MaxNewSize=8g
#Disable heuristic rules
-XX:+UseCMSInitiatingOccupancyOnly
#Reduce Old Gen threshold
-XX:CMSInitiatingOccupancyFraction=70
...
Мы также следовали рекомендациям отсюда.
Last edited: