[OpenSIPS-Users] Rate Limit Module Implementation

Ben Newlin Ben.Newlin at genesys.com
Tue Nov 26 12:20:42 EST 2019


Some testing of this has convinced me that the FEEDBACK algorithm is not actually tracking CPU Load as is claimed by the documentation. I believe it is actually checking CPU Utilization as a percentage. But since the values in the module are not exposed I cannot be sure.

The lack of response on this question leads me to believe the rate_limit module, or perhaps just the NETWORK and FEEDBACK algorithms, are not widely used so I may just avoid them.

Ben Newlin

From: Users <users-bounces at lists.opensips.org> on behalf of Ben Newlin <Ben.Newlin at genesys.com>
Reply-To: OpenSIPS users mailling list <users at lists.opensips.org>
Date: Friday, November 15, 2019 at 5:09 PM
To: OpenSIPS users mailling list <users at lists.opensips.org>
Subject: Re: [OpenSIPS-Users] Rate Limit Module Implementation

As a follow up to this, when I tried to set the limit for the FEEDBACK algorithm to 0 for testing, I received this error:

invalid limit for FEEDBACK algorithm (must be between 0 and 100)

Per the documentation this algorithm should be tracking CPU Load, but the range being 0 to 100 makes me wonder if it is actually reporting a percentage, similar to the load statistics exported by OpenSIPS core [1].

Can anyone using this module clarify what unit the limit for this algorithm is expected to be in? The ambiguity is one of the reasons I had wanted to track the values being obtained for a time before actually engaging limited, which is what prompted my original question.

[1] - https://www.opensips.org/Documentation/Interface-CoreStatistics-2-4#toc14

Ben Newlin

From: Users <users-bounces at lists.opensips.org> on behalf of Ben Newlin <Ben.Newlin at genesys.com>
Reply-To: OpenSIPS users mailling list <users at lists.opensips.org>
Date: Thursday, November 14, 2019 at 3:45 PM
To: OpenSIPS users mailling list <users at lists.opensips.org>
Subject: [OpenSIPS-Users] Rate Limit Module Implementation

Hello,

We are looking to implement some rate limiting using the module, but I have a few questions and wanted to see if anyone has run into the same issues or has working experience with the module to answer them.

The module provides $rl_count and also a counter value in the output of the rl_list command, but both of these values only reflect the number of rl_check calls that were made in the time window. In the case of TAILDROP, RED, and SBT algorithms, the count is directly related to the limit and drop_rate. But for the NETWORK and FEEDBACK algorithms, the counter is essentially meaningless.

What we are looking for is a way to track the values these modules are using to make drop decisions, so that we can set our limit value appropriately. But unless I am missing something, there is no way to access these values for either NETWORK or FEEDBACK. Is that correct?

Ben Newlin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20191126/09fae2a6/attachment.html>


More information about the Users mailing list