Thread pools tuning¶
Since build 5.2.1992 it is possible to change a thread pools setting for signaling, media publishing and playback.
By default, WCS uses thread pools configured as follows:
thread_pools_config.json
{
"rtmp_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RTMP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtmfp_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "RTMFP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "WS",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"flash_POLICY_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "FlashPolicy",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"turn_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "TurnServer",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"http_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "HTTP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtsp_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RTSP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"hls_SERVER": {
"nativeStack": true
},
"ws_CDN_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "CDNInbound",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_CDN_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "CDNOutbound",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtmp_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RtmpPublisher",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtsp_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RtspAgent",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_WCS_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "WCSAgentWS",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_TCP_CLIENT": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "TcpClient",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_UDP": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "STUN-UDP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"frep_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "FREP-Server",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"frep_AGENT": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "FREP-Client",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_TCP_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "ICE-TCP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"mpeg_TS_UDP": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "MPEG-TS-UDP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"mpeg_TS_SRT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "MPEG-TS-SRT",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
}
}
In most cases, the thread pools settings should not be changed. But, they may be tuned to optimize a server CPU and memory load. The configuration file /usr/local/FlashphonerWebCallserver/conf/thread_pools_config.json
is used to change a parameters. The following example disables Non-blocking IO usage for WebRTC TCP transport to reduce an operative memory consumption:
WCS must be restarted to apply the changes.
The following parameters are enough to be changed:
nio
- enables/disables Non-blocking IO usagestaticPool
- enables/disables static (non-expandable) thread pool usage
An actual settings and current thread pools state may be checked using the following statistics query
The response example:
thread_pools_group_param
{
"thread_pools_group_param": {
"thread_pools_info": {
"WebRTC_TCP_SERVER": [],
"WebRTC_TCP_CLIENT": [],
"WebRTC_UDP": [],
"RTMP_SERVER": [
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"RTMP-BOSS-pool-12-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"RTMP_AGENT": [],
"WS_SERVER": [
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"SSL-WS-BOSS-pool-18-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
},
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"DASHBOARD-SSL-WS-BOSS-pool-10-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
},
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"WS-BOSS-pool-16-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
},
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"DASHBOARD-WS-BOSS-pool-8-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"TURN_SERVER": [
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"TurnServer-BOSS-pool-42-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"HTTP_SERVER": [
{
"boss": {
"threads_count": 2,
"tasks_queue_size": 2,
"threads_state": {
"SSL-HTTP-BOSS-pool-4-thread-1": "RUNNABLE",
"SSL-HTTP-BOSS-pool-4-thread-2": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
},
{
"boss": {
"threads_count": 2,
"tasks_queue_size": 2,
"threads_state": {
"HTTP-BOSS-pool-2-thread-1": "RUNNABLE",
"HTTP-BOSS-pool-2-thread-2": "RUNNABLE"
}
},
"worker": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"HTTP-pool-3-thread-5": "RUNNABLE"
}
}
}
],
"RTSP_SERVER": [
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"RTSP-BOSS-pool-40-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"RTSP_AGENT": [],
"WS_CDN_SERVER": [
{
"boss": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"CDNInbound-BOSS-pool-21-thread-1": "RUNNABLE"
}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"WS_CDN_AGENT": [],
"MPEG_TS_UDP": [],
"MPEG_TS_SRT": [],
"WS_WCS_AGENT": [
{
"boss": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
],
"FREP_SERVER": [],
"FREP_AGENT": [],
"RTMFP_SERVER": [
{
"worker": {
"threads_count": 1,
"tasks_queue_size": 1,
"threads_state": {
"RTMFP-pool-15-thread-1": "RUNNABLE"
}
}
}
],
"FLASH_POLICY_SERVER": [
{
"boss": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
},
"worker": {
"threads_count": 0,
"tasks_queue_size": 0,
"threads_state": {}
}
}
]
},
"thread_pools_config": {
"rtmp_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RTMP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtmfp_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "RTMFP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "WS",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"flash_POLICY_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "FlashPolicy",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"turn_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "TurnServer",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"http_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "HTTP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtsp_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RTSP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": true,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"hls_SERVER": {
"nativeStack": true
},
"ws_CDN_SERVER": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "CDNInbound",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_CDN_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "CDNOutbound",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtmp_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RtmpPublisher",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"rtsp_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "RtspAgent",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"ws_WCS_AGENT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "WCSAgentWS",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_TCP_CLIENT": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "TcpClient",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_UDP": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "STUN-UDP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"frep_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "FREP-Server",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"frep_AGENT": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "FREP-Client",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"webRTC_TCP_SERVER": {
"staticPool": false,
"executionHandlerInPipeline": false,
"prefix": "ICE-TCP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"deadlockAwareNioWorkers": false,
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"mpeg_TS_UDP": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "MPEG-TS-UDP",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"nio": true,
"boss": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
},
"mpeg_TS_SRT": {
"staticPool": true,
"executionHandlerInPipeline": false,
"prefix": "MPEG-TS-SRT",
"worker": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
},
"executionHandler": {
"custom": false,
"coreThreads": 4,
"maxThreads": 8,
"threadTimeoutSec": 300,
"queueSize": 100
}
}
}
}
}
The following parameters are shown:
threads_count
- threads count in the pooltasks_queue_size
- task queue size served by the poolthreads_state
- list and current state of threads in the poolthread_pools_config
- current thread pools configuration