Friday, December 17, 2010

WAS (WebSphere) Plugin Configuration XML (plugin-cfg.xml) Parameters – ConnectTimeout and ServerIOTimeout

In this link, you can find out all the available parameters that you can modified / set in plugin-cfg.xml. The 2 parameters that I am interested in, which is related to how long the plugin connects to WebSphere Application Server: ConnectTimeout and ServerIOTimeout.

ConnectTimeout identifies how long (in seconds) the plugin will wait to get connect to WebSphere Application Server (WAS). If the plugin waits longer than the value, it will mark the server unavailable.

By default (without the parameter set in the plugin-cfg.xml) or setting the value to 0, it represents a blocking connect, that is, the thread will keep waiting to obtain a connection until the operating system time out the request.
ServerIOTimeout identifies how long (in seconds) the plugin will wait for the server to response to the request. If the plugin waits longer than the value before the response is completed, it will time out.

By default, the plugin uses blocked I/O. So basically it will block wait until TCP connection times out.

Other comments above two parameters:

Comment by Jim
July 31, 2008 @ 4:39 am
Hi,
I am writing you exactly 1 year after you published this post :-)
I was trying to find out the differences between ConnectTimeOut and ServerIOTimeOut and reached here.
What I understand from your post is that ServerIOTimeOut is the number of seconds the plugin module waits before getting a response – calculated from the moment it started attempting to connect.
If I set ConnectTimeOut to 10 seconds and ServerIOTimeOut to 20 seconds, and if the app server is not responding, then the plugin will timeout the connection after 10 seconds. In this case, what is the significance of ServerIOTimeOut parameter?
Thanks in advance.
Jim

Comment by 
July 31, 2008 @ 7:06 am
Hello Jim. My understanding is that the 2 timeouts are tracking 2 different states. ConnectTimeOut measures the time it takes the plugin to connect to the application server, whereas the ServerIOTimeOut measures the time it takes for the server to respond to the plugin AFTER successfully connected to the plugin.
So in your example, if your plugin cannot connect to the app server in 10 seconds, it will time out (by ConnectTimeOut). After the plugin can successfully connect to the app server, if the request cannot be completed in 20 seconds, then it will timeout (by ServerIOTimeOut)

Hope this help.