TsgcWebSocketProxyServer › Propriedades › ThreadPool
Habilita um thread pool que recicla threads worker em vez de destruí-las quando as conexões proxied são fechadas.
property ThreadPool: Boolean read GetThreadPool write SetThreadPool;
False
Quando ThreadPool é True, as threads que terminam de servir uma conexão downstream são retornadas a um pool em vez de serem destruídas; elas são marcadas como inativas e não consomem ciclos de CPU até serem reutilizadas, o que reduz drasticamente o custo de conexões de vida curta, um caso comum com proxies WebSocket conduzidos por navegador. Ajuste ThreadPoolOptions (MaxThreads, PoolSize) para controlar quantas threads podem ser criadas. O pool cobre apenas as threads de worker downstream; os links upstream para o servidor definido em Proxy usam sua própria conexão de cliente por sessão.
oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.ThreadPool := true;
oProxy.ThreadPoolOptions.PoolSize := 32;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;