TsgcWebSocketProxyServer › Właściwości › ThreadPoolOptions
Konfiguruje rozmiar i górny limit wielokrotnego użytku puli wątków używanej gdy włączona jest właściwość ThreadPool.
property ThreadPoolOptions: TsgcWSThreadPool_Options read FThreadPoolOptions write SetThreadPoolOptions;
MaxThreads=0 (bez limitu), PoolSize=32
MaxThreads określa maksymalną łączną liczbę wątków roboczych strumieniowych, które serwer proxy może utworzyć; po osiągnięciu limitu nowe połączenia przychodzące są odrzucane. Wartość 0 oznacza brak górnego ograniczenia. PoolSize to liczba wątków utrzymywanych w puli gotowych do użycia (domyślnie 32); wyższe wartości zmniejszają narzut tworzenia wątków przy skokowych obciążeniach, kosztem pamięci zajętej przez bezczynne wątki. Właściwości działają tylko wtedy, gdy właściwość ThreadPool ma wartość True. W scenariuszach proxy należy ustawić odpowiednio dużą pulę, ponieważ każdy zaakceptowany klient strumieniowy otwiera również połączenie wychodzące do serwera zdefiniowanego we właściwości 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;