TsgcWebSocketServer_HTTPAPI › Propriedades › 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 não é suportado e não tem efeito algum, porque a I/O sobreposta do servidor depende de um pacote de conclusão para cada chamada; é mantido apenas por compatibilidade. 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.Active := true;

Voltar para Propriedades