Hi @MeltdownInteractive,
Sorry for the delay but here are some pointers based on my conversations with the engineering team. Our connection pool does not support dynamic settings changes (this is not unique to C# driver).
- Connection pool settings are per node, therefore horizontal scaling is not effected (sharding).
MaxConnecting value should not change significantly across different cluster tiers. Its value should be much lower than MaxConnectionPoolSize. Too many concurrent connection establishments would result in degradation of overall performance on any tier.
MaxConnecting should match your expected maximal load. Higher value on smaller clusters, will just result in not protecting the server against load spikes. In that case instead of WaitForQueueTimeout you would face server errors/degraded performance.
- As a rule of thumb, scaling the cluster up should not require significantly more concurrent connections, as every request is processed faster, overall throughput increases with the same amount of connections.
Hope that helps.
Thanks,
Rishit.