Saturday, June 22, 2019

performance - Hardware setup advice for SQL Server 2005



I'm currently having trouble with a database server for a DB with lots of small writes and a few in comparison big reads. Read performance is more important because people is involved, writes are performed by automated clients. This database is currently 30GB and will grow up until a hundred or so.



The currently awful and ugly setup which underperforms is




  • DELL Poweredge R300

  • Quad Core Xeon X3353 @2.66GHz


  • 14 GB RAM

  • SAS 15k 146GB (two partitions, one OS, another Logs)

  • SAS 15k 146GB (one partition, data and tempdb)

  • No RAID (ugh)

  • SATA 7k 1TB [via USB 2.0, external power supply, where daily backups are stored]



So, due to its many ugly points (underperforming, no RAID, external USB drive for backups) I'm planning to set up a new database server.



I've thought about:





  • 4 SAS 15k 73GB RAID10 for logs

  • 2 SAS 15k 73GB RAID1 for OS

  • 4 SAS 15k 146GB RAID10 for data + tempdb

  • 32GB RAM



So, three questions:





  • Is this the best price/performance combination? Is this overkill? Is there a better combination? Is more information needed?


  • Do you know of a reasonable priced single machine which can contain the 10 disks or must I go for an external locally attached storage right now?


  • Any recommendations for getting something like this at a reasonable price/quality?



Answer



32GB of RAM is a nice typical round number for most Server CPU's but if you are looking at Xeon 5500 (Nehalem) CPU's then remember that they are configured optimally in banks of 3 DIMM's per CPU, and multiples of 6 DIMMs for dual socket servers so you will see better performance with 24\48GB RAM rather than 32GB.



There are plenty of servers that will take 10 disks but whether you would consider them reasonably priced or not I can't say. I doubt that you will find any 1U like the R300 that will take 10 disks - HP's 360 G6 can cram 8 2.5" SFF drives into 1U for a basic list price of just over $2K. Dell's R610 is roughly equivalent (it's also a 1U dual socket Xeon 5500 system) but only gets 6 drives internally. Even if you bump up to the DL380\R710 2U class servers




Rackable towers like the HP ML370 G6 run for around $2.5k basic but can take up to 24 drives. Dell's T710 runs to around 16.



The prices above are the minimum list prices for the chassis with 1 CPU, no disks and virtually no RAM. A configured HP ML370 with those drives, 24 GB of RAM and dual Xeon E5540 CPU's will have a list price of around $10k. The bulk of that comes from your drive choices - you could probably save about $1500\$2K by opting for a single socket variant but the marginal cost of the RAM might increase as the 4GB DDR3 DIMM's are about 50% more expensive per GB than 2GB modules.



Edited to add some idea of performance comparisons.



A Xeon 5540 2.53Ghz CPU will be about 50% better clock for clock compared to your existing CPU. A dual socket setup with SQL 2005 should scale out reasonably efficiently so in pure CPU terms a dual socket system like those listed above will have about 3x the cpu power of your R300.



Set up with balanced DDR3 RAM @ 1066Mhz you should see about 3x the memory bandwidth, possibly more since I suspect that your current R300 setup isn't optimal.




In terms of disk performance you're increasing your effective random IO capacity by at least a factor if 5 (obviously enough) but by adding in a decent advanced RAID controller and properly segregating the functionality you will probably see substantially better performance improvements over and above that.



The Tylersburg chipset used in (almost) all of the current Xeon 5500 based systems also separates Memory IO and the rest which is harder to quantify but will invariably be of some benefit.



These systems are many times faster than your existing setup but whether that actually translates into improved performance for your users depends on what your current bottlenecks are. If it's a poorly designed app or network congestion beefing up the server alone isn't going to result in such clear gains.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...