I have a database that is 1.1GB on disk. I am setting up a new server. The server has dual E5335 Xeon’s (2.0GHz, 1333MHz FSB) and 4GB memory.
The database is currently running on a single Seagate 80GB SATA II 7200rpm drive.
I borrowed two Seagate 300G SAS 15000rpm drives from a friend who bought them, but didn’t wind up using them, to see if my database applications would run faster on them.
As a benchmark, I set the SAS drives up as a RAID 0.
As I anticipated, the SAS RAID 0 performs a lot better on general benchmarks. They give about a 230MB/sec versus the single SATA drive’s 72MB/sec. They have a 5.88ms average access time versus the single SATA drive’s 13.02ms average access time.
However, moving the mysql database from the single SATA drive to the SAS RAID 0 doesn’t appear to have affected performance whatsoever. (A program we have that takes 40 seconds to execute actually runs 2% slower on the SAS RAID 0, but I’m classifying that as a statistically insignificant amount.) The program takes so long because the original programmer didn’t set up an index that’s needed to make it run faster. (I left the index off for benchmarking purposes.) With the index on, the program runs in 4 seconds, but still runs about 1-2% slower on the SAS RAID 0.
SO, my question is: Should I expect to see my database performing faster on the SAS RAID 0, rather than a single SATA drive? Or is my 1.1GB database just too small, that mysql is being efficient enough with caching that I won’t notice a difference unless my database grows much larger?
MY.CNF (Applicable area)
[mysqld]
set-variable = key_buffer=384M
set-variable = max_allowed_packet=2M
set-variable = table_cache=512
set-variable = sort_buffer_size=2M
set-variable = read_buffer_size=2M
set-variable = thread_cache=8
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
set-variable = max_connections=300