We have a system that generally runs between 500-650 concurrent users during peak time. We have two servers, one that houses the SQL Server and the other contains both the Cuba Middle-ware and Client. In monitoring memory usage and CPU usage the application appears to be running well, but when trying to open a complicated view it can take up to 30 seconds sometimes. I ran a SQL Profiler here and it’s about 0.1 seconds total for the resources being pulled for the view when it takes 12 seconds to load the view. When under less load the views return in 1-2 seconds so this tells me something is going on in the Middle-ware or the client. My questions are as follows:
- Is there anything in settings that I should be adjusting to accommodate more concurrent users?
- When does it make sense to scale with additional servers vs. increasing CPU cores and RAM?
- Is there locking or something that occurs in the application that will cause a slowdown with many users? Will scaling servers help with this?
- I noticed in the Performance Statistics that database active connections is maxed at 20. Am I reading this correctly? Is there a way to change this? We’ve allowed for more concurrent connections in our previous application than 20 as this helped alleviate a bottle neck in the application.
Any type of suggestion or answer here would be much appreciated. Thanks.