Aerospike as rate limiter counter

Hi All. We’re trying to implement a rate limiting algorithm for accessing our Hybrid RTB platform.

We currently average around 50K QPS and for each of these we fire between 5 and 20 (more in the future) requests to publishers and these are the requests i need to implement throttling on.

Basically what we do is setup counters per publisher, these have a TTL of 1 second and we keep incrementing the counter with each outbound request.

It’s been working fine on low loads but when trying to run this on aerospike in memory on a cluster of 2 16cpu gcp instances it does not hold the load and eventually crashes.

(We are talking around 1 million tps).

I am new to AS and used the out of the box configuration with no performance tweaks.

I guess i’m looking for pointers on how to improve performance and maybe do it in a less resource heavy way as adding more servers gets expensive real fast

I’d appreciate any input.

Thanks!

Hey Michaelim! What does your record look like? How big is it? How are you incrementing the counter? Are you using in-memory or on disk? What do you mean by ‘does not hold the load’?