Sql-server – Best way to improve disk performance (SQL Server 2000)

clustersql serversql-server-2008windows-server-2003

I am having some disk access issues on a web application.

The main load is many concurrent inserts/updates/selects on large tables.

It is currently a single 2ru rackmount running SQL Server 2000 and IIS, running a raid5 with 4x15k SAS for the DB; and 6GB of ram/8 physical cores. CPU and memory usages seem fine.

Things i'm considering….

  • move from our current Raid to a many disk SAN
  • Ram Drive for tempdb files
  • Cluster the server
  • Upgrade SQL-Server (Will happen eventually regardless; but handy new keywords should help much at the very least)
  • ?

Anything I should be looking at/considering?

Thanks,
Chris

Best Answer

Couple of things. First off, clustering the server won't give you any performance benefit, only increase in availability.

Probably the easiest thing you can do to relieve disk I/O is to increase the memory on your server. As more of your data pages are stored in RAM, the less physical I/O that needs to happen for queries to run.

Depending on your workload, if you can afford to move to a SAN, then you will probably want to look at splitting up your TempDB, logs, and data files onto seperate physical disks (you may want to look at this MS article around storage top 10 best practices for SQL Server: http://technet.microsoft.com/en-us/library/cc966534.aspx). As Hutch stated, move off of RAID 5, especially for logs and TempDB, has these have high amounts of writes (RAID 5 has a write penalty for the parity).

As Chopper3 says, FusionIO drives are some of the fastest drives around currently. If you have the budget for them, that is definitely one area to explore (especially for your TempDBs).

HTH, Dan