We have the following setup:
Virtual server, Intel Xeon X5650 @ 2.67Ghz (4 processors) 8GB RAM Windows server 2008 Standard 64bit Sql Server Express IIS 7.5
Our database is only 200mb. We are running an ASP.net app. We recently ran into some performance issues, ~200 concurrent connections was causing 100% CPU usage (mostly consumed by IIS) and bringing the response time to around 20sec! After some tweaks to our code we have been able to run a load test from loader.io with 1500 concurrent users over 1 minute and our response time at the end was around 5 seconds and CPU was around 95%, again consumed mainly by IIS, our memory was sitting at around 4GB usage. However we are expecting bigger spikes than 1500, anywhere up to around 4000 users in a short amount of time.
My questions are the following: 1) Is this normal performance for our current setup? Our site is quite intensive on the database and we are using Entity Framework. 2) Would upgrading to Sql Web edition have any benefit seeing as though our Database is so small? 3) Do you think that this type of setup could handle 4000 users? 4) Any suggestions on what we could do to handle this load?
I know this is somewhat subjective, but any answers are much appreciated.