Increase performance on SQL Server

I'm having performance issues on my SQL server.  I'm running SQL 2005 Standard on an HP ProLiant DL380 G5, dual quad-cores, 4 GB RAM, 8 physical disks (set up as 3 partitions - C: mirrored, D: RAID5, and E: RAID5), Windows Server 2003 Standard edition.

We are running Orion Network Performance Monitor and the database resides on my SQL server (Orion server is a separate physical server).  Orion is having major performance issues and all is pointing to the SQL server at this point.  The disk queue lengths on the SQL box are averaging 22 right now and maxing at like 160.  All of the SQL data is located on the D: partition.  

What can I do to increase the performance of this box?  According to SolarWinds, we should not be seeing these issues with the hardware we are running.  Our Orion install is only polling 800 nodes...with the hardware we have, SolarWinds says that we should be able to poll up to 8,000 nodes.

Any help at all would be greatly appreciated!

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

First the disk configuration. Normally for SQL, you install the database files on a RAID5 or RAID10 and the log files on a RAID1. You say that all your SQL data is on the D drive. You should make a RAID1 drive and move all your log files of your databases to that RAID1 drive. Logs are sequential, data read/writes are random. If both are on the same disk, that will lower the performance. I don't know whats on the E drive, but if possible, remove the E drive RAID5, take 2 disks in a RAID1, the 3rd disk, add it to the RAID5 of the D drive (with ACU you can do this life without loss of data (of course, murphy...) and move the log files to the E drive.
Second, are you running a rebuild of indexes and update of statistics on a regular basis? Because if you don't, this can be a HUGE performance issue. I have databases that need a daily (during night) rebuild/update, because if I don't, some queries that normally take 20min, can end up taking several hours.
You mean you've got 3 raid sets each with one partition I assume?

The usual culprits to check would be: 1) Make sure something else isn't causing the activity; 2) Make sure your statistics are up to date; 3) Make sure the raid write cache is enabled (assuming on a ups); and 4) Check that the raid sets all show optimal.
npc_caseymAuthor Commented:
The E: drive is currently set up for just the Log files.  Sorry, the data files are on the D: drive, log files on the E: drive.  
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

How much memory is in your RAID Controller? You may find 192MB is better. Also; if performance is an ongoing issue; Look at a seperate RAID controller for your Log Drive.

Also - How is your memory configured? Do you have the /3GB Switch in the boot ini?

The RAID controller isn't a problem. The server is a DL380G5 so it's more than enough to do the job. A seprate RAID controller is not necessary.
The /3GB in the boot.ini won't make a big difference, because the problem is a bottleneck on the disks (unless there is a lot of memory swapping, but in that case the supplier Solarwinds would have suggested to add more memory).
Even with the logfiles already on the E drive, you still can change the E drive to RAID1, because this gives better performance (no parity to be calculated anymore and logfiles are sequential). If you want to change this, stop the sql server service, copy/move all files from the E drive to a tempfolder on the D drive. Destroy the RAID5 with the E drive, create a new RAID1 (with 2 disks), create a disk E, move all data from tempfolder to E, start sql server service. You can then add the remaining disk to the RAID5 of the D drive.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
And can you have a look at the performance monitor to the Avg disk queue length READ and WRITE and this for the different drives C, D, E. This way, you can discover which drive has the bottleneck and for what operation.
npc_caseymAuthor Commented:
Thanks.  This helped me out more than anything.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2005

From novice to tech pro — start learning today.