Hi James,
After spending hours understanding how the different algorithms work, we
selected the "TAILDROP" with the following parameters:
modparam("ratelimit", "timer_interval", 1)
modparam("ratelimit", "default_algorithm", "TAILDROP")
modparam("ratelimit", "hash_size", 2048)
it does the job (it drops what it takes!).
The only thing I can advise you is to cache the limitation for each IP, because
if you must query your database to obtain the limitation, in case of DDOS, your
server will crash because of the possible slowdown of the database queries.
Regards
De : Users <[email protected]> au nom de James Seer
<[email protected]>
Répondre à : OpenSIPS users mailling list <[email protected]>
Date : lundi 30 janvier 2023 à 14:33
À : <[email protected]>
Objet : [OpenSIPS-Users] Ratelimit CPS Algorithms
Hello,
I'm trying to find the best way to control calls coming to my opensips box
using the Ratelimit module.
i'm setting a specific cps limit to each customer via its ip source and i want
precision and accuracy without exhausting my server (vultr virtual machine 2
cores, 4gb ram with 2gb dedicated to opensips shared memory and 32m shared + 8
udp workers with a profile scalling up to 16 workers on 70% load)
I was able to achieve what I wanted by using the SBT algorithm, a window_size
of 1 second and slot_period of 200 milliseconds, 5 slots in total. Most of my
customers have a 5 to 20 cps limit.
modparam("ratelimit", "window_size", 1)
modparam("ratelimit", "slot_period", 200)
if(!rl_check("RL_$si", 5, "SBT")) send_reply("403", "Cps Exceeded");
I admit not being able to understand how the SBT algorithm works via the
documentation, I wanted to know if the values i set for window_size and
slot_period are the best for CPS Limitation.
Also do you confirm that SBT is the most accurate among other ratelimit
algorithms for calls per second limitation ?
Thank you
_______________________________________________ Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users