TsgcWebSocketServer_HTTPAPI › Eigenschappen › FineTune

FineTune Eigenschap

Kernelmodus-knoppen op laag niveau die bepalen hoe http.sys aanvragen in de wachtrij plaatst, verwerkt en afhandelt.

Syntaxis

property FineTune: TsgcServerHTTPAPI_FineTune read FFineTune write SetFineTune;

Standaardwaarde

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

Opmerkingen

QueueLength is de diepte van de kernel-aanvraagwachtrij (HttpServerQueueLengthProperty); wanneer vol, antwoordt http.sys met 503 Service Unavailable zonder gebruikersmodus te betrekken — verhoog dit om herverbindingsbursts op te vangen (tot 65535). SkipIOCPOnSuccess wordt niet ondersteund en heeft geen effect, omdat de overlapped I/O van de server afhankelijk is van een completion packet voor elke aanroep; het wordt alleen behouden voor compatibiliteit. OperatingMode kiest tussen ompClassic (enkele acceptorthread + PostQueuedCompletionStatus, historisch gedrag) en ompHighPerf (Microsoft's MSDN HP-patroon: geen acceptor, ThreadPoolSize x HighPerfAcceptsPerWorker vooraf geplaatste async-ontvangsten op de wachtrij-gebonden IOCP); wijzig alleen voor activering. HighPerfAcceptsPerWorker (standaard 4) vergroot het vooraf geplaatste ontvangstvenster voor hoge gelijktijdigheidsbelasting — elke vooraf geplaatste ontvangst houdt een buffer van ReadBufferSize vast totdat deze is voltooid. Zie de handleiding HTTPAPI FineTune voor een volledige bespreking.

Voorbeeld


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;

Terug naar Properties