Skip to end of metadata
Go to start of metadata

Начиная со сборки 5.2.1992, добавлены возможности управления процессорными потоками (threads) сервера, обслуживающими соединения для сигналинга, публикации и проигрывания медиа потоков.

По умолчанию, процессорные потоки организуются в пулы, настроенные следующим образом:

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
        }
      }
}

Как правило, изменение настроек по умолчанию не требуется. Однако, если необходимо оптимизировать нагрузку, можно изменять отдельные параметры пулов процессорных потоков. Для этого используется конфигурационный файл /usr/local/FlashphonerWebCallserver/conf/thread_pools_config.json, в котором указываются изменяемые параметры. Например, таким образом можно отключить использование Non-blocking IO при передаче WebRTC по TCP для уменьшения расхода оперативной памяти:

{
      "webRTC_TCP_SERVER": {
        "nio": false
      },
      "webRTC_TCP_CLIENT": {
        "nio": false
      }
}

Необходимо перезапустить WCS, чтобы применить изменения.

Допускается изменять следующие параметры:

  • nio -  включает/отключает использование Non-blocking IO
  • staticPool - включает/отключает использование статического (нерасширяемого) пула процессорных потоков

Актуальную настройку и текущее состояние пулов процессорных потоков можно проверить при помощи запроса статистики

curl -s 'http://localhost:8081/?action=stat&format=json&groups=thread_pools_group_param'

Пример ответа на запрос:

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
        }
      }
    }
  }
}

Отображаются следующие параметры:

  • threads_count - количество процессорных потоков в пуле
  • tasks_queue_size - размер очереди задач, обслуживаемых пулом процессорных потоков

  • threads_state - список и текущее состояние процессорных потоков в пуле

  • thread_pools_config - текущая настройка процессорных потоков


  • No labels