Hi Giulio,

Giulio Harding wrote:

The disparity between the two sides of the TCP connections is probably due to backlog - only 5 TCP connections are ever established with the HTTP server at a time, but the rest of the connections from Kannel are 'pending' as per OS/apache TCP backlog limits. These connections won't receive a 'connection refused', they'll simply wait until resources are available, whereupon they'll be fully established.

Because these connections aren't explicitly failing, and because of the rate of incoming MO messages, smsbox appears to be simply creating HTTP connections faster than they are being used. The only solution is to forcibly reduce the rate of message delivery, or to limit the number of HTTP connections to the application HTTP server (as mentioned by Alexander Malysh in his reply to my original email).

Also, those 'strange' sockets that Kannel has look like they've been closed on the other side (by the application HTTP server) and are thus useless, and simply haven't been cleaned up. When a HTTP connection is closed by the server, it should be cleaned up on Kannel's side as soon as possible. They should really be cleaned up before attempting to create new HTTP connections.

I agree in this analysis.

I think this is the crux of the problem: this TODO, and our issue would be addressed by the patch that Alexander has offered - given that he's indicated that it is a fairly simple patch, and the issue seems (to me) quite serious, I think this is worth focussing on ASAP.

agreeing too.

These look like they may be directly related to the problem we're experiencing - is anyone working on these tasks, and if so, is there an ETA to implementation?


can you please retry to leaverage the MO load with let's say 2-4 smsbox connections....

It's still curious why sockets are keept open that way...


Ok, I'll try this out, with multiple smsboxes on the same machine, and possibly multiple smsboxes on multiple machines (if I can source some) - I'll also try fiddling with the priority of the bearerbox process (using nice) to see if I can get the SMPP and HTTP processing better balanced...

However, none of these workarounds will guarantee correct behaviour under load, as there is nothing preventing Kannel from opening too many sockets. As I mentioned before, I think this is a bug.

yep, can you please add this to a full but report to http://bugs.kannel.org/, in order we have a correct track of the issue? Thanks in advance.

Stipe

-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany

tolj.org system architecture      Kannel Software Foundation (KSF)
http://www.tolj.org/              http://www.kannel.org/

mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------

Reply via email to