Take the 2-minute tour ×

I currently have an asp.net web application running on an xp machine w/ iis 5.1 and sql server 2005 on our network. This application processes large excel files (50MB+), handles 100's of 1000's of records of product information, and manipulates that data. Right now not many people can access the app and do anything substantial with out the system freezing.

I would like to be able to have ~10 people using the system at any given time doing these large tasks.

Should I separate the web server and sql server on separate machines? XP, Vista, 7, Windows server? 32-bit, 64-bit? RAM? CPUs?

Obviously cost is somewhat of an issue...

Any recommendations, ideas, or links to articles would be greatly appreciated!

share|improve this question
add comment

migrated from stackoverflow.com Oct 30 '09 at 20:03

This question came from our site for professional and enthusiast programmers.

4 Answers

Your application requirements don't seem too onerous today. With a well specified machine you shouldn't need to separate the functions into SQL box & web box.

If cost is a main factor then OS and SQL versions will depend on licensing costs, which in turn depend on whether your organization has partner agreements / special deals from MS.

However, it is definitely worth looking at the overall system design before you go throwing money at it. Often 'freezes' can be fixed by changing locking / isolation schemes within the SQL database - if you have users trying to read from a table that is being updated with SQL's default locking, you will get blocked. (Look at READ UNCOMMITTED and NOLOCK hints but don't blindly rely on them)

Also look at PerfMon to see if disk I/O is causing your slowdowns (look up average disk queue length expected values) - and this will help to to see whether you need to concentrate on better disk arrays in your new machine (RAID 1, 5, 10 etc).

share|improve this answer
add comment

You know that IIS 5.1 on Windows XP has some serious limitations in terms of concurrent users? I belive the limit is 2 concurrent HTTP connections; it's not a server OS.

I think you can hack the registry to enable 10, but I think you get my point. Moving the SQL server to another server is a good idea regardless of the IIS platfor.


share|improve this answer
add comment

Actually the limit is 10. You are thinking about the WinInet limitation of 2 connections to the same host from a client perspective.

Move this to a Server 2003 or Server 2008 instance and unless the code was written poorly from a concurrency perspective you should be fine. If you are however accessing physical files, i.e. excel files, and not doing the proper locking, etc for concurrency management you still may be out of luck.

share|improve this answer
add comment

IIS 5.1 is actually your physical limitation. As others have said, Windows XP is not a server, so the built in webserver was not designed to handle more than 10 users connecting at one time.

Moving your application to a Windows Server 2003 or 2008 would give you a lot more potential for your application. If you're not looking for more than a few hundred connections in a day, then running both SQL server and the web server on the machine is okay. If you're looking for more, than a seperation of concerns would probably be a better way to go with this.

Good luck, and hope this helps some.

share|improve this answer
add comment

Your Answer

