The online FAQ database contains hundreds of answers to frequently asked questions, articles on using our web server applications and other related technologies, and resolutions to common problems. If you are seeing an error message, be sure to try searching on the error message or error number that you are seeing.

Question When running ASP applications, how can I make sure that my site is going to perform well? Do you have any suggestions?

Answer There are many things you can do to maximize performance of any IIS ASP application.

One of the easiest and best steps would be to use a SQL Server database instead of a JET database. While a JET database can work fine for smaller sites, to really get performance and support a large user community with any web server application, you should be running it on SQL Server.

The next step is (surprise) optimizing your server configuration. The rest of this article outlines some basics regarding server configuration. We will first touch on the hardware aspects of server configuration. Both IIS and SQL Server are memory hungry applications. Almost literally, the more RAM the server has, the better it can run IIS and SQL Server.

Disk drive performance can have a very high impact on IIS and (more significantly) SQL Server performance. When configuring a high performance server, you should always use the best available disk drive technologies. Today, that means you want at least Ultra-SCSI LVD drives. The faster the drives RPM rating, the faster it can read data from the drive. Ten thousand (10,000) RPM drives are considered the normal baseline for server drives today. Hardware based RAID technology should be an essential for any serious server. Although hardware based RAID cards usually come at a bit of a premium price, they easily make up for their cost with a premium level of performance and rock solid server stability.

Both IIS and SQL Server are multi-threaded server applications. This means they can really take advantage of multiple CPU's in a server. Multiple processors in a server can really provide a significant performance boost to server applications. As a server, a Dual PIII-900 machine can easily outperform a single processor PIII-1.8Mhz machine. Almost as a bonus, the cost difference may even be negligible.

Now we have covered the most important physical parts of the server than can affect performance. The next thing to consider is the logical parts of your server. By logical, we're talking about the actual functionality of all the software that is installed on a server. The more server applications you have running on a particular server, there will be less resources that server will have for any one particular application. This means you should not run anything at all on your server that is not absolutely required. For example, do not run your email server software on the same physical machine as your web server. To continue with that logic, by running SQL Server and IIS on two separate machines, you can squeeze even more performance out of your hardware than running them both on the same machine. To take this literally, an application server should only run one application (i.e. Run an IIS server, a SQL Server, and a SMTP server all on separate machines, not the same machine).

These basic guidelines can assist you in optimizing your server configuration. Remember that not all hardware is created equal. Some vendors do go to great lengths to optimize their equipment to get every bit of performance out of the components that is possible. An unreliable server means unreliable applications. So to get the best reliability and performance when setting up a server, do not take shortcuts with the quality of the hardware you use.

If your site is running on ISP hosted equipment, ask them for a description of the equipment they are using. Being familiar with the basics can help you compare the kind of service performance you might get from one ISP as opposed to another. If an ISP is unwilling to divulge that information, that should be an indicator that maybe this ISP is not using hardware that is up to the task or will not be very helpful if you ever do have a problem with your site.