Tag Archive for 'MySQL'

MySQL on Mtron SSD

We (PIXNET) have bought 2 Mtron MSP-SATA70 (Spec: write 90MB/s, read 120MB/s), installed on 8-way, 12 G RAM, running Debian Linux x64 and MySQL 5.1 Slave Server. We use MyISAM as backend, and the largest MyISAM table is about 3GB.

We setup the SSDs with RAID 0, 4KB stripe size, XFS, and noop disk scheduler. In the beginning, we spend about one-third time to copy data from master server than the time spent copying from 2 SCSI 10k RPM HDDs (RAID 0). The rate is about 70MB/s. When replicating, we have about 3000~4000 qps, and the largest qps is about 15000.

In production use (consists SELECT and UPDATE queries), we have 8000 qps then get CPU bound. Some complicated SQL queries start blocking. If we only execute simple SELECT queries, 15000 qps is possible.

MySQL on Transcend SSD

After reading Kevin Burton’s article, gslin and I also find a SSD and do some test with it. We bought 4 Transcend 32GB MLC SSDs, and installed two on a 8-way Debian Linux Server, with 12GB RAM. We runs MySQL 5.1 slave with MyISAM table on it. The largest MyISAM table is about 3.0GB.

In the beginning, we striped the two SSD with 64KB stripe size RAID0, and found MySQL only did 5~20 replication update query per second on XFS. Running on EXT3 is not better, so we decided to tried decreasing block size.

We tried 4KB stripe size but no performance gain. And disabling disk scheduler makes no difference either. We also found that the Linux md(4) driver and LVM supports the minimum 4KB stripe only, so we didn’t try 512B or 1KB stripe size.

Finally, we found that the Transcend SSD supports only UDMA Mode 4, about 66.7 MB/s in theory. The specification shows that it only does 1.6MB random write per second, and our replication update runs about average 3MB/s and peak 11MB/s with XFS. The Transcend SLC chip supports about 4MB random write per second, which is still too slow for us.

Conclusion: SSD in Taiwan Market now provides no good performance, and Mtron SSD is still too expensive in Taiwan.