目的
通过之前对mysql的OLTP基准测试发现,性能的瓶颈为IO。为了降低IO对性能的影响,本文基于Virident FlashMAX进行测试。此外,为了进一步了解CGroup对mysql多实例在CPU、IO隔离下,性能的情况,进行了以下测试。
测试环境:
测试系统环境如下所示:
Summary:
Dell R610, 1 x Xeon E5645 2.40GHz, 47.2GB / 48GB 1333MHz DDR3
System:
Dell PowerEdge R610 (Dell 08GXHX)
Processors:
1 (of 2) x Xeon E5645 2.40GHz 5860MHz FSB (HT enabled, 6 cores, 24 threads)
Memory:
47.2GB / 48GB 1333MHz DDR3 == 6 x 8GB, 6 x empty
Disk:
sda (scsi0): 1.2TB (17%) JBOD == 1 x DELL-PERC-H700
Disk-Control:
megaraid_sas0: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator], Package 12.10.4-0001, FW 2.100.03-1584, BIOS 3.18.00_4.09.05.00_0x0416A000, Cache 1GB, BBU
Chipset:
Intel 82801IB (ICH9)
Network:
em1 (bnx2): Broadcom NetXtreme II BCM5709 Gigabit, d4:be:d9:f5:62:50, 1000Mb/s
OS:
CentOS 6.2 (Final), Linux 2.6.32-220.23.1.el6.x86_64 x86_64, 64-bit
此外,Virident FlashMAX官方提供的参数如下所示:
Capacity (GB)
1000
NAND Flash
MLC
Form Factor
Low Profile (half height, half length)
Read Performance
1.3 GB/s (4KB blocks)
325,000 IOPS (4KB blocks)
1,000,000 IOPs (0.5KB blocks)
Sustained Mixed Performance (75:25 r/w)
850 MB/s (4 KB blocks)
280,000 IOPS (4KB blocks)
Access Latency
19us
Lifetime (PB written to flash)
10, 15
以上测试系统可知,物理机器配置为两个物理CPU,每个CPU上有6核心,开启超线程状态下,显示为24 CPU。SSD的读写性能可以参照:《Virident FlashMAX测试》。
测试工具及条件
测试工具为percona提供的TPCC-MySQL基准测试工具,测试环境如下所示,数据大小大约为30G。并且所有实例的测试条件相同。
[warehouse]: 300
[connection]: 32
[rampup]: 1200 (sec.)
[measure]: 1800 (sec.)
测试方案
对比测试CGroup控制多实例与无CGroup控制多实例的性能比较。CGroup划分四个MySQL实例,每个实例配置文件中的参数相同,CGroup划分组对应关系如下表所示,具体测试内容如下所示:
CGROUP
CPU
IO
cgroup1
0~5
R:140MB/s; W:100MB/s
cgroup2
6~11
R:140MB/s; W:100MB/s
cgroup3
12~17
R:140MB/s; W:100MB/s
cgroup4
18~23
R:140MB/s; W:100MB/s
1、单实例测试。测试cgroup1下MySQL的性能和单实例MySQL性能比较。
2、两个实例测试。测试cgroup1、cgroup2下MySQL的性能和两个实例MySQL性能比较。
3、四个实例测试。测试cgroup1、cgroup2、cgroup3、cgroup4下MySQL的性能和四个实例MySQL性能比较。
4、CGroup下MySQL性能影响比较。比较1中cgroup1、2中的cgroup1和3中cgroup1的性能影响。
5、减小CGroup的IO限制。测试cgroup1下mysql的性能,测试cgroup1和cgroup2下mysql的性能,测试cgroup1、cgroup2、cgroup3下mysql的性能,测试cgroup1、cgroup2、cgroup3、cgroup4下mysql的性能。调整后的CGroup如下所示:
CGROUP
CPU
IO
cgroup1
0~5
R:20MB/s; W:40MB/s
cgroup2
6~11
R:20MB/s; W:40MB/s
cgroup3
12~17
R:20MB/s; W:40MB/s
cg