On 31 Mar 2004, at 09:43, Filippo Capocasale wrote:


Hi Daniel!
Thankyou very much for your help.
I agree with you that it could be a resource issue, and I'm trying to investigate about this.
I've tryed to replicate the problem in our developement environment, but I succeded only partially. Let me explain.
I've prepared a java test program (even if in the real world the client for my server are written in C++...) that starts 100 threads and each thread sends 50 requests (of a single service, while the real clients invoke several services).
I've launched this program on two PC in the same time.
I succeeded to overload the xmlrpc server and, surprise surprise, the error on the client side is "Unexpected end of file from server", that is just the error I've in the production environment.
But in my simulation the server doesn't stop completely from working: it send the error from some call, then is manage to fullfill some requests, then again errors and so on...
Instead, in the case of the real problem in the production enviroment, the server seems to be definitively unable to respond to any request.



It could be that you are seeing an exhaustion of the number of sockets available. If the clients connect, do a transaction and then disconnect then you will be recycling a lot of sockets. A socket is not immediately reusable, it has to sit in the TIME_WAIT state for a period before it becomes free for reuse.


Check the setting for the duration of TIME_WAIT, it should be about 60 seconds.

Increase the number of sockets available.

Check that your clients are closing the sockets properly after use.

That's about all I can suggest at the moment.


John Wilson The Wilson Partnership http://www.wilson.co.uk



Reply via email to