Can Eviction be faster?

Our application should continuously write something like 40.000 rows (with 4K data) per seconds (and read 40.000 per second too) continuously.

I have set a TTL to 3 seconds, and we see that when the application stops to write, the amount of object continue growing in the sets for 10 seconds. And it can take up to 40 seconds to erase everything once we have stopped the application.

Is there a way to tell to the evictor to delete more rows at once and start earlier ? The ideal for us is to continuously only have 40.000*3sec rows on the sets.

The eviction and expiration algorithms run on every NSUP interval which, by default, runs every 120 seconds which can be configured via the nsup-period service config. This process is also throttled by the nsup-delete-sleep service config. Your use case is a bit outside the norms but lowering nsup-period to 1 and possibly also lowering nsup-delete-sleep should more closely suit your needs.

Thanks I will try, For now I am using only one server, do you think if I put a cluster with 4 big nodes (without replication) with the config you gave me, the overload will be splitted so each server will be able to handle less request and then stabilize ?

You could potentially lower the time nsup takes to run by splitting the load against more machines or by adding more hardware I believe… but if you just added more hardware then you wouldn’t have to deal with evicts as often either…

1 Like

This topic was automatically closed 6 days after the last reply. New replies are no longer allowed.