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;