[OpenSIPS-Devel] Large messages on TCP

Tiberius Duluman tiberius.duluman at iquestint.com
Thu Jun 30 16:16:31 CEST 2011


Hello,

I have some problems with sending large messages over TCP in  opensips.

My configuration is like this: I have an opensips that works as a dispatcher, and several instances that do the job. Anyway, for my testing scenario, there is only one worker instance.

Now, I send few large requests to the dispatcher ( they are so large that I use the TCP protocol ). The dispatcher handles each request on a  different process and forwards the requests to the worker instance. But, on the worker instance, I see all the requests handled by same process. On the worker process after a request is received, it is answered with "202 Accepted" and then the request is being processed. The processing may last even for several minutes. So, during this time, that opensips process cannot handle any other request. So, dispatcher usually cannot send all the requests to the worker opensips even if there are enough working free processes.

After investigating the opensips code, I have noticed that tcp connection are reused.  When first request is handled, there is a "no open tcp connection found, opening new one" but for subsequent requests the log line is "tcp connection found (0x...), acquiring fd".

Is there any risk if a disable this connection reusing mechanism? ( by disabling the searching code from tcp_main.c function tcp_send ).
Is there any other workaround?

Regards,
Tiberius
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20110630/de82d7de/attachment.htm>


More information about the Devel mailing list