We were facing sudden spike of requests in our production Integration Servers and facing degradation of performance, we are using Webmethod 10.3 in SPARC Solaris. Some of the settings still use default values such as Backlog setting in Port which has default 200.
We have two active node with Load Balancer, we have these settings on the port which serve the requests:
- Backlog = 200
- Keep Alive Timeout = 20000
Private Threadpool Configuration
- Threadpool Min = 0
- Threadpool Max = 200
- Thread Priority = 5
We want to increase the Threadpool Max to around 400, so what is the best number of Backlog that we can put? And is there any settings to set timeout for queued request in the backlog?
Thanks in advance for any suggestion and answer.
Hi @Medio_Mayo ,
As per the online help of the port, the max value for backlog is 65535. FYI, this backlog values is used while creating the ServerSocket ( ServerSocket (Java Platform SE 8 ) (oracle.com)
The number of requests that can remain in the queue for an enabled port before Integration Server begins rejecting requests. The default is 200. The maximum value is 65535.
This parameter does not apply to disabled ports. Integration Server refuses requests sent to disabled ports.
Regarding the other question “And is there any settings to set timeout for queued request in the backlog?”
- There is no settings in IS to set the timeout of the queued request. The KeepAliveTimeout is use to set Socket.soTimeout() i.e how long a socket can be kept open waiting for data from other end.
Keep Alive Timeout
When to close the connection if the server has not received a request from the client within this timeout value (in milliseconds); or when to close the connection if the client has explicitly placed a close request with the server.