[SR-Users] how to make dispatcher module use more than one tcp connections to the destinations?
Daniel-Constantin Mierla
miconda at gmail.com
Wed Jul 10 12:25:57 CEST 2013
Hello,
On 7/10/13 7:13 AM, Allen Zhang wrote:
>
> Hi list,
>
> I have a loadbalancer before sipproxies. I call t_reley() on the
> dispatcher to forward requests to destinations.
>
> All goes well under low load.
>
> But when load goes up to 500 requests/s, the loadbalancer still sends
> requests via only one tcp connection. This maxes out the tcp write queue.
>
> Of course I can increase the 'tcp_conn_wq_max' value but it doesn't
> solve the root problem.
>
> How do I make the loadbalancer start a new tcp connection to the
> destination when existing one becomes too busy? (Is it possible?)
>
there is no detection for such case and it will add some complexity to
manage a group of connections to same destination (but patches will be
considered, of course).
However, here are some workarounds:
- use set_forward_close(), but note its issues regarding replies:
http://www.kamailio.org/wiki/cookbooks/devel/core#set_forward_close
- listen on several local tcp sockets and use selectively one of them
via forcing local socket for sending (see $fs variable or
force_send_socket(...))
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130710/f05163f4/attachment.html>
More information about the sr-users
mailing list