[OpenSIPS-Users] FW: Asynchronous operation for REST queries
Ramachandran, Agalya (Contractor)
Agalya_Ramachandran at comcast.com
Mon Sep 19 18:55:38 CEST 2016
Hi Liviu,
Thank you for the response.
2) Regarding the feedback, this is what I observed till now.
1. Without HTTP -150 calls per sec for almost 100K calls => Looks good.
2. With HTTP being sync -
a. Children parameter =1 , only 4 cps, since depending on the query and the response, it takes time to respond.
b. Children parameter = 50, 100K calls sent at 100 cps => OpenSIPS handles 95cps - 3000+ active calls
c. Children parameter = 20, 100K calls sent at 35 cps => OpenSIPS handles 35cps
3. With HTTP being async tested with the latest fix included on main branch
=> Children parameter =8, 10K calls sent at 25cps => OpenSIPS handles 23 cps, with 1200+ active calls.
The result with async may improve in a release version from the development branch I hope.
Regards,
Agalya
From: Liviu Chircu [mailto:liviu at opensips.org]
Sent: Monday, September 19, 2016 11:18 AM
To: Ramachandran, Agalya (Contractor) <Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling list <users at lists.opensips.org>
Subject: Re: FW:[OpenSIPS-Users] Asynchronous operation for REST queries
Hi, Agalya!
1) Regarding connection reuse optimization, I haven't done any research on this topic. In other words, libcurl will be managing its connections through its default settings / parameters, whichever they are. The module is mature enough, maybe now is a good time to look into this feature.
2) Since you're doing lots of obviously blocking operations (HTTP transfers), then you will definitely need more processes. However, I noticed lots of transfers are quickly completed, without requiring async, so you don't want too many processes if all requests work like that. Just tune according to your needs until you find a sweet spot. You could even share the performance results, I'd love to hear some feedback.
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 19.09.2016 17:57, Ramachandran, Agalya (Contractor) wrote:
Hi team/Liviu,
Couple of questions for clarification.
1) I see for every HTTP request(for both sync and async), TCP ports are being opened and closed.
Are we not using same port and pooling the request in a particular port if we are hitting simultaneous requests?
2) Children parameter in the config file - I understand the use case of this is to spawn multiple threads.
If we want to handle more load in OpenSIPS, we should increase this number correct?
So when increasing this number of children process we should take care of CPU utilization and according to the no of CPU and RAM we used in our Linux system.
Correct me if am wrong in my understanding of the above questions.
Regards,
Agalya
From: Liviu Chircu [mailto:liviu at opensips.org]
Sent: Thursday, September 15, 2016 3:53 AM
To: Ramachandran, Agalya (Contractor) <Agalya_Ramachandran at comcast.com><mailto:Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling list <users at lists.opensips.org><mailto:users at lists.opensips.org>
Subject: Re: FW:[OpenSIPS-Users] Asynchronous operation for REST queries
On 14.09.2016 21:33, Ramachandran, Agalya (Contractor) wrote:
Are you going to add one more parameter "connect_polling_interval" and what will be use case of it?
Is it replacement for 10% wait time logic?
Yes.
Also, I observed in the case of async call, it takes ~90 to 100ms to open the port itself. Is this expected behavior?
Yes.
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160919/6454ef0c/attachment-0001.htm>
More information about the Users
mailing list