I have a Microsoft ASP.NET MVC web application with SQL Server 2008. Current开发者_开发百科ly running on a single server, performance is reasonable. However I now need to deploy the same application to support much higher volumes - 10,000 basic orders per week.
I believe that I will need a separate database server and one or two web-servers.
If I host at somewhere like 1&1 or Rackspace I presume they will advise. However I would like some idea before I start any discussions.
One area I'm not sure about is the windows server versions I should be using, CPU/memory requirements, whether these hosting providers offer load-balancing and kinds of costs involved.
Any help appreciated :-)
Hm, a final answer does not seem to be possible here. What I'd do:
- understand and document your non-functional requirements. E.g. what does 10,000 orders per week mean? Think of transactions/second, concurrent/users, required uptime, storage
- You are in the good position of having an application available. Perform a benchmark (load test) to define your current state baseline and to answer the question of how many orders you can accommodate today. If you gathered this information you can perform some analysis and see where your bottleneck is. Maybe you can increase throughput by e.g. optimizing some SQL queries, etc.
- Verify that your application architecture supports scale-out. Maybe you have things like schedulers which you have to synchronize in a clustered environment. Another example is direct file system access from within your web server which may require you to have shared storage (SAN, etc.)
Regarding versions/CPU/memory: I really cannot answer this question. Performing your baseline test enables you to get an idea of what you need. Software versions really depend on what you do in detail and what your environment supports.
In general I cannot see a reason to not using W2K8R2 and SQL2008, but again, it depends mainly on your application architecture. Maybe you use certain components not available/supported any more on the newer MSFT software stack. If this is a Microsoft shop you could have a look at Microsoft Azure.
精彩评论