TsgcWebSocketServer_HTTPAPIPropriedades › FineTune

FineTune Propriedade

Ajustes de baixo nível em modo kernel que moldam como o http.sys enfileira, despacha e completa requisições.

Sintaxe

property FineTune: TsgcServerHTTPAPI_FineTune read FFineTune write SetFineTune;

Valor Padrão

QueueLength=1000, SkipIOCPOnSuccess=False, OperatingMode=ompClassic, HighPerfAcceptsPerWorker=4

Observações

QueueLength é a profundidade da fila de requisições do kernel (HttpServerQueueLengthProperty); uma vez cheia, o http.sys responde 503 Service Unavailable sem envolver o modo de usuário, aumente-a para absorver rajadas de reconexão (até 65535). SkipIOCPOnSuccess habilita FILE_SKIP_COMPLETION_PORT_ON_SUCCESS na fila de requisições para que os sucessos síncronos sejam despachados inline sem um pacote IOCP (ignorado no Windows XP). OperatingMode escolhe entre ompClassic (única thread aceitadora + PostQueuedCompletionStatus, comportamento histórico) e ompHighPerf (o padrão HP da MSDN da Microsoft: sem aceitador, ThreadPoolSize x HighPerfAcceptsPerWorker recebimentos assíncronos pré-postados no IOCP vinculado à fila); altere apenas antes da ativação. HighPerfAcceptsPerWorker (padrão 4) amplia a janela de recebimento pré-postada para cargas de trabalho de alta concorrência, cada recebimento pré-postado mantém um buffer do tamanho de ReadBufferSize até ser concluído. Consulte o guia HTTPAPI FineTune para uma discussão completa.

Exemplo


oServer := TsgcWebSocketServer_HTTPAPI.Create(nil);
oServer.Host := '0.0.0.0';
oServer.Port := 8080;
// high-concurrency IoT backend
oServer.FineTune.QueueLength := 10000;
oServer.FineTune.OperatingMode := ompHighPerf;
oServer.FineTune.HighPerfAcceptsPerWorker := 8;
oServer.FineTune.SkipIOCPOnSuccess := true;
oServer.Active := true;

Voltar para Propriedades