I have a server that potentially could receive a huge number of specific requests per second, each such request should persist some data in Cassandra. Because of the limitations of 2048 simultaneous requests, Cassandra starts to throw BusyPoolException.
So my questions are:
1. I know Java driver for Cassandra have throttler that you could configure to enqueue requests which should wait other requests to end. I didn't see in the documentation such configuration for C# driver. It's not documented, or C# driver currently doesn't have such configuration, and the solution will be to write my own throttler based on Semaphore?
2. Is it a good practice to set max connections per host number higher than default (2 local, 1 remote), and if it's okay to do so - what number is considered a middle ground kind of?
3. Is it a good practice to increase max requests per connection, or if I decided to increase the number of connections per host & implement a throttling mechanism - then there's no reason to increase max requests per connection?
4. Should the number of max requests per connection & max simultaneous requests per connection threshold be equal, or simultaneous should be lower by some %?
5. I didn't find enough info related to RetryPolicy, so I'm not sure which RetryPolicy would be most fitting for the use case described above?