[OpenSIPS-Users] REG::Zero Window in opensips 1.11.5
Liviu Chircu
liviu at opensips.org
Fri Jun 9 04:45:54 EDT 2017
Hi Ravi,
The TCP/TLS code is not optimized to dispatch/parallelize the SIP
messages read by a single worker on a heavily reused TCP connection.
They will be processed serially, one at a time (possibly not by the same
TCP worker, but that's irrelevant). However, SIP message processing in
OpenSIPS is super fast and your TCP read buffers should never get filled
up, unless maybe your kernel buffer sizes are too low. See this tutorial
[1] for some tuning tips.
On a different note, the more blocking ops you do in your script, the
more chances for your box to start advertising TCP zero window to the
app server. If that's your case, then your best bet is to move to a 2.2+
OpenSIPS, and make those statements asynchronous.
[1]: https://www.cyberciti.biz/faq/linux-tcp-tuning/
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 09.06.2017 07:00, Ravitez Ravi wrote:
>
> Hi All,
>
> Good Day,
>
> I’m using opensips V1.11.5-TLS and facing a problem
> with Zero Window.
>
> Here’s the scenario :
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> 200 OK
>
> Opensips ß---------------------------- App Server
>
> Now lets assume this
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> NOTIFY
>
> Opensips client ---------------------------à App server
>
> 200 OK|200 ok | 200 ok | 200 ok
>
> Opensips ß---------------------------- App Server
>
> Assuming the size of response if 5000 bytes.
>
> tcp_main detects data in the buffer and passes on to the child process
> to read the data from the buffer,
>
> child(buffer size 65535 ) now reads the data from the socket
>
> tcp_read_req()
>
> -tcp_read_headers()
>
> -Loops until all the sip messages are extracted and forwarded/processed
>
> -Releases the connection to tcp_main
>
> Tcp_main attaches to IO
>
> During the timer interval where system reads the data from the socket
> and process the data there would be new data pipelined in the socket,
> this gradually results in Zero window L
>
> Would like to know if there’s a way to process the next available data
> on the socket once its been read.Thank you for your time J
>
>
>
> Regards,
>
> Ravitez.D
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170609/db94eecf/attachment-0001.html>
More information about the Users
mailing list