views:

362

answers:

2

We have SQL Server 2005 running on Win2003/64, and we push it hard. We generate real time reports on several tables with a couple million records using asp.net 3.5, and they will periodically time out.

I'd like to increase our memory from 8GB to 16GB or even 32GB to see how that helps, but I need to justify this to the pencil pushers before they will spend the money. Can someone point me to some resources that will help me make my case and will get me some hard numbers to use?

+3  A: 

First find out what is really the problem and that the server is properly tuned for the queries you are running. It's very sad to waste the money on RAM to find out you are I/O bound.

After you gather data about the cause of the timeouts you should be able to convince the pencil wielders easily.

Some tuning/monitoring links:

http://www.brentozar.com/archive/2008/03/sql-server-2005-setup-checklist-part-1-before-the-install/ (check both articles)

http://www.sql-server-performance.com/

About I/O specifically:

http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx

http://searchsqlserver.techtarget.com/generic/0,295582,sid87_gci1307990,00.html

http://www.novicksoftware.com/Articles/sql-server-io-statistics.htm

Vinko Vrsalovic
Can you point me to some information on how to figure out if it's an I/O issue. I guarantee the code and procedures are tunned as good as they'll get.
Charles
+1  A: 

I would start by profiling and optimizing the queries as much as I could.

I would build a testing system and run the queries using 1GB of RAM, 2GB of RAM, 4 GB of RAM and finally 8GB of RAM.

I would calculate how the queries would behave with 16 or 32 GB of RAM (and show actual time values and percentage increases - they will understand that) and build a nice colorful graph (pencilpushers like that).

They won't understand the technical aspects but they will understand percentage increases and a nice graph.

But I would go through the queries again an try to optimize them first.

Bogdan