Tuesday, April 24, 2012 7:52 PM
Are there any guidelines available for MaxConnectionsToServer value based on Throughput, Data Size etc to improve the Performance?
My application uses three hosts cluster in HA mode and it has single data cache factory. How do we know that throughput is a bottleneck?
Total Client Requests/Sec - Avg 1,180 & Max - 1412.
Data Size - 1.3 GB
Object Count - 400K
Both host and client are 16 core machines. There are 7 clients. What is the recommended value based on this load?
Saturday, April 28, 2012 11:59 AM
Setting maxConnectionsToServer=1, which is the default setting, will work in most situations. In scenarios, when there is a single shared DataCacheFactory and a lot of threads are posting on that connection, there might be a need to increase it to the number of concurrent cache requests you expect to make to the same server. The best means to find the optimal number of connections is to test throughput with different configurations.
Also, do note that if there are 7 clients each creating 2 DataCacheFactories shared among multiple threads in the process, and you set maxConnectionsToServer = 5 for both, the total numer of outbound connections from each cache cache client will be 10 per cache server; and each cache server will have 70 inbound connections.
Since you have 16-core machines, the optimal concurrency on both client and server is no more than 16 threads, so you optimal MaxConnectionsToServer value will lie between 1 and 16.
- Proposed As Answer by Arijit Sengupta [MSFT]Microsoft Employee Tuesday, May 01, 2012 5:12 PM
Tuesday, May 01, 2012 7:41 PM
Thank you so much for the reply. I have few more questions and correct me if i am wrong.
1. As per your reply, Decision to increase MaxconnectionsToServer depends only on number of client threads. That means, It doesn't depend on the volume of postings made by each thread?
2. If I set MaxConnectionsToServer value to 16, Each client will post on 48(16 connections * 3 hosts) connections. This is more than recommended value 16. So the optimal range will be between 1 to 5?
3. Client Web Service also configured with ASP.NET maxconnections 16 Setting. is it ok to go upto 16 for both AppFabric MaxConnectionsToServer and ASP.NET maxconnections?
4. The Optimal MaxConnectionsToServer range 1 to 5 mentioned in above point 2 will further go down to 1 to 2 if i consider all Host inbound connections to be with in 16.
5. In my performance tests, I also noticed a very high Quorum Response Time with high MaxConnectionsToServer value. is this related?