Mysql – more important for a database server? Mem? Mem speed? Cores

databasehardwareMySQL

I am going to be moving my database server to somewhat better new hardware. The current database server does not have any problems except that it is running Centos 4. The current hardware is 2 quad core xeon 5335, 4 15K RPM in RAID 10 and 4GB(yes, it really is only 4GB) of memory.

The hardware choices in my budget have almost no price differences and will have the same 4 15K RPM harddrives in RAID 10. They are:

  • 2 quad core xeon 5335 with 8GB 533/667
  • 2 hex core xeon 2620 with 16GB 1333
  • 4 dual core opteron 8212 with 8GB 667
  • 1 octo core xeon 2650 with 8GB 1333
  • 1 quad core xeon 3460 with 16GB 1333

Excluding harddrives, what is the order of important parts of a database server? Is it something like: memory size, memory speed, cores, and then cache size?

Best Answer

In my experience, what you're looking for would be in this priority order:

  1. Disk subsystem speed. RAID10 in my experience is best. Bonus points for SSDs.
  2. Total amount of RAM The more RAM, the more cache your server will be able to have.
  3. Memory speed. Faster RAM is obviously better than slower RAM, however RAM is always faster than disks, so more slower RAM is better than less faster RAM.
  4. Number of CPU cores
  5. CPU speed

This obviously depends on the application, but typically a database server's job is to provide really fast access to data, so the CPU speed is less important than the speed of access to the data (disks and RAM). But obviously if you're using a lot of math / calculations in your queries, you need more CPU resources.

Related Topic