Hello Steve, this does not mean there is anything inherent in the use of the 
loadbalancer that is causing the problem. IMHO you need to establish a baseline 
metric with a real JVM testing tool (like JMeter). You need to create a model 
of the real production environment and network topology using some type of 
separate dev environment. Start with just one instance of Tomcat using a true 
distributed master/slave type test (Hardware and software). Increase the number 
of users (ThreadGroups) until you can get a repeatable exception as you have 
posted. Minimally, you should be able to force the application to drop 
transactions at a certain and given number of users. Once you have a baseline 
metric to work with then you can increase the number of deployed TC instances 
and repeat your test. Also, check for you Tomcat installation: client or 
server? What is your JVM Eden tuning? Many other possibilities at:

http://wiki.apache.org/jakarta-jmeter/ (Peter Lin etc.).

Or scale vertically instead of horizontal (ibid Peter Lin). HTH.

Steve Burt wrote ..
> Hi Folks,
> 
> This is a resurection of a problem that I think many fellow
> Administrators are experiencing but I think there has never been a
> real solution to the problem...
> 
> I am responsible for a web application
> 
> config is as follows
> 
> pix firewall -> cisco loadbalance -> apache webservers -> application
> -> Oracle DB
> 
> Problem that I am expericing is every time I try into introduce the
> appserver into the loadbalancer config, the keep alive request seems
> to be agrivating tomcat and causing it to crash.. this as you can
> imaging is very tiresome... :-) you have to have a sense of humour
> about these things...
> 
> Anyway the error message is
> 
> Nov 13, 2006 9:02:19 PM org.apache.tomcat.util.net.PoolTcpEndpoint 
> processSocket
> SEVERE: Socket error caused by remote host /xxx.xxx.xxx.xxx(This is the
> IP address of the loadbalancer"
> 
> java.net.SocketException: Invalid argument
> 
> at java.net.PlainSocketImpl.socketSetOption(Native Method
> at java.net.PlainSocketImpl.setOption(PlainSocketImpl.java:240)
> at java.net.Socket.setTcpNoDelay(Socket.java:771)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.set contd......
> 
> This seems to be a popular message but I dont think there has been a
> resolution to this..
> 
> Now If I remove the appserver from the loadbalance problem dissappears
> ... obviously
> 
> The Loadbalancer is sending its keepalive request direct to port 8080
> on the appserver
> 
> I am considering the following fix
> 
> 1 : create a small webapp that check port 8080 itself, and point the
> loadbalancer to the *.jsp
> 
> Now has anyone else experienced this?
> 
> Good Talking
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to