TsgcWebSocketProxyServer › 属性 › ThreadPoolOptions
配置在 ThreadPool 启用时所使用的可复用线程池的大小和上限。
property ThreadPoolOptions: TsgcWSThreadPool_Options read FThreadPoolOptions write SetThreadPoolOptions;
MaxThreads=0(无限制),PoolSize=32
MaxThreads 限制代理可创建的下游工作线程总数;达到上限后,新的传入连接将被拒绝。设为 0 表示不设上限。PoolSize 是线程池中保持预热的线程数量(默认 32);较大的值可降低突发负载时的线程创建开销,但会增加空闲内存占用。这些属性仅在 ThreadPool 为 True 时生效。在代理场景中,请将线程池设置得宽裕一些,因为每个被接受的下游客户端还会向 Proxy 中定义的服务器打开一条出站链路。
oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.ThreadPool := true;
oProxy.ThreadPoolOptions.MaxThreads := 500;
oProxy.ThreadPoolOptions.PoolSize := 64;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;