How can I test my asp.net web application limits. User connections etc. And does my application is limited to server & IIS performance or what are the other factors?
How can I host an application which will be used by millions of people?
How can I test my asp.net web application limits. User connections etc. And does
Share
This is a complicated question indeed. I will try my best to answer it as best I can, so bear with me if the explanation seems contrived.
In terms of testing your application, Visual Studio comes with several plugins that can do load testing and performance analysis on your application. I don’t know what version of VS you need to have in order to gain access to these features, however I believe they are available starting in the Professional edition. In the absence of Visual Studio, there are lots of programs available to run these tests, just search Google for ASP.Net load testing. One application that works with Apache also works with IIS is available here.
In terms of hosting your application, it really depends on how many users you’re expecting. Many people get excited and say “millions of users”, but in reality, for most people, it’s a small fraction of that. If you are honestly interested in scaling so large, there are a couple of options:
Host in the cloud – Amazon Web Services and Microsoft Azure are two options that are both scalable to nearly infinity, and support ASP.Net virtually out of the box with zero configuration. Be aware, however, that these options can get very expensive, especially if you start using lots of CPU time and bandwidth. The upside, is, however, that you won’t lose performance or throughput if your site has 1 thousand visitors or 1 million.
Throw hardware at it – The tried-and-true method of throwing hardware at the problem is probably less expensive, but won’t scale as quickly. Start out by finding a good hosting provider and take a look at their offerings. Dedicated servers are a good start and fully-managed, but at some point you will have to build your own servers and co-locate them. Load balancing and redundancy become very important at the higher levels.
Regardless of what you decide to do, both options can be expensive. Hosting in the cloud costs little up-front but can become very pricey as it grows; dedicated servers or co-location typically has a large up-front cost (for setup fees and/or additional hardware) but is less expensive overall and in the long run.
My suggestion would be to start small and go from there. Shared hosting, while not scalable, gives you a great avenue to beta-test your site for pennies. If there’s interest and you start making some cash, upgrading to a dedicated server should be painless.
Good luck!