Wednesday, 24 July 2024
  1 Replies
  344 Visits
  Subscribe
Hi Sergio,

I have a Windows Service server that is responding to users (from browsers) through the event :

procedure TSrvWSHttp.sgcWebSocketServer_HTTPAPI1HTTPRequest(
aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest;
var aResponseInfo: THttpServerResponse);
begin
Sleep(1000);
AResponseInfo.ContentText := Format('<html><body> Server Time is : %s</body></html>',[FormatDatetime('dd/mm/yyyy hh:nn:ss.zzz', now())]);
AResponseInfo.ContentType := 'text/html';
AResponseInfo.ResponseNo := 200;
End;


The server parameters are :
sgcWebSocketServer_HTTPAPI1.Asynchronous := false;
sgcWebSocketServer_HTTPAPI1.ThreadPoolSize := 64; // (max of 64 threads according to the doc)
sgcWebSocketServer_HTTPAPI1.MaxConnections := 0;
sgcWebSocketServer_HTTPAPI1.SetNotifyEvents(neNoSync);

When stress testing the server (using JMeter), the server can handle up to 64 simultaneous requests. The other requests get a Timeout error.

The question is : How can a server handle more than 64 simultaneous requests.

Thank you for your help.