TsgcWebSocketServer_HTTPAPIPropiedades › FineTune

FineTune Propiedad

Parámetros de nivel de núcleo en modo kernel que determinan cómo http.sys encola, despacha y completa las solicitudes.

Sintaxis

property FineTune: TsgcServerHTTPAPI_FineTune read FFineTune write SetFineTune;

Valor Predeterminado

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

Observaciones

QueueLength es la profundidad de la cola de solicitudes del kernel (HttpServerQueueLengthProperty); una vez llena, http.sys responde con 503 Service Unavailable sin involucrar al modo de usuario — auméntela para absorber ráfagas de reconexión (hasta 65535). SkipIOCPOnSuccess habilita FILE_SKIP_COMPLETION_PORT_ON_SUCCESS en la cola de solicitudes para que los éxitos síncronos se despachen en línea sin un paquete IOCP (ignorado en Windows XP). OperatingMode elige entre ompClassic (hilo aceptador único + PostQueuedCompletionStatus, comportamiento histórico) y ompHighPerf (patrón HP de MSDN de Microsoft: sin aceptador, ThreadPoolSize x HighPerfAcceptsPerWorker recepciones asíncronas pre-publicadas en el IOCP vinculado a la cola); cámbielo solo antes de la activación. HighPerfAcceptsPerWorker (predeterminado 4) amplía la ventana de recepción pre-publicada para cargas de trabajo de alta concurrencia — cada recepción pre-publicada mantiene un búfer del tamaño de ReadBufferSize hasta que se completa. Consulte la guía HTTPAPI FineTune para una discusión completa.

Ejemplo


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;

Volver a Propiedades