Hi,
We are a web development company that provides hosting for our clients on a dedicated machine. The hardware set up for this machine is:
P4 3.2ghz processor
1gb RAM
2 x 80gb SATA HD (RAID mirroring)
From this one box, we run the web server, SQL Server 2000 and a third-party mail server called MailEnable. The OS is Windows Server 2003. We are running approximately 20-30 dynamic websites from this server, most of which are very low traffic (<100 visitors per day). We have a handful of sites that run from SQL Server and some of these databases are fairly complex e-commerce solutions.
We have stress-tested the server using the Web Stress Test 7 software and the results indicated a much lower level of performance than we expected. We tested sites with differering set ups, such as ASP/Access, ASP/SQL Server, ASP.NET/Access and ASP.NET/SQL Server and the results were fairly similar across the board, with SQL Server being slightly better than Access and ASP.NET being slightly better than ASP.
The testing indicated that the server hits 100% CPU usage when visited by 15 concurrent users above and beyond normal evening traffic. When not testing, the CPU is stable at 2-4%. Gradually increasing above 15 users will hang the server. When the CPU hits 100%, the Processes tab of Task Manager shows that sqlserver.exe consistently uses 80% of resources. During this time, the Performance Monitor counter for Memory shows that we still have 50-200mb of free RAM.
Coding-wise, we use all performance guidelines, such as stored procedures, connection pooling, no cursors or temporary tables, all objects killed etc etc.
With all this in mind, we'd like to assess what we currently have and what we may need for the future.
Are these results consistent with expectations for this hardware and software configuration?
What can we do to improve the performance of this server?
What would be our best options for expansion? If we add another server, would it be better to have standalone SQL Server or standalone mail server?
One of our clients sends out a newsletter and the influx of traffic (>300 concurrent users) hangs the server. At what pricing level should a client expect their hosted website to handle 300+ concurrent users? If you bought a machine similar to ours and plugged it into a decent network, would it be able to handle this amount of traffic?
Thanks in advance for your help. We are struggling to find impartial advice on this matter as everyone wants to sell us a server! We're monitoring this question, so feel free to ask us things and we'll get back to you quickly.