TsgcWebSocketServer_HTTPAPIPropriétés › FineTune

FineTune Property

Commandes de bas niveau au niveau du noyau qui façonnent la façon dont http.sys met en file d'attente, distribue et complète les requêtes.

Syntaxe

property FineTune: TsgcServerHTTPAPI_FineTune read FFineTune write SetFineTune;

Valeur par défaut

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

Remarques

QueueLength est la profondeur de la file d'attente de requêtes du noyau (HttpServerQueueLengthProperty) ; une fois remplie, http.sys répond 503 Service Unavailable sans impliquer le mode utilisateur — augmentez-la pour absorber les pics de reconnexion (jusqu'à 65535). SkipIOCPOnSuccess active FILE_SKIP_COMPLETION_PORT_ON_SUCCESS sur la file d'attente des requêtes afin que les succès synchrones soient distribués en ligne sans paquet IOCP (ignoré sous Windows XP). OperatingMode choisit entre ompClassic (thread accepteur unique + PostQueuedCompletionStatus, comportement historique) et ompHighPerf (modèle HP MSDN de Microsoft : pas d'accepteur, ThreadPoolSize x HighPerfAcceptsPerWorker réceptions asynchrones pré-postées sur l'IOCP lié à la file) ; ne modifiez ce paramètre qu'avant l'activation. HighPerfAcceptsPerWorker (4 par défaut) élargit la fenêtre de réception pré-postée pour les charges à haute concurrence — chaque réception pré-postée retient un tampon de taille ReadBufferSize jusqu'à son achèvement. Consultez le guide HTTPAPI FineTune pour une discussion complète.

Exemple


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;

Retour aux propriétés