本文主要说明在阿里云ECS上,使用DBFS构建MySQL数据库的性能优势。
测试说明
为了能够发挥DBFS性能优势,建议使用CPU 8核以上(包含8核)的ECS进行测试,比如 2xlarge、4xlarge、8xlarge等ECS规格。
性能数据展示
在2xlarge、4xlarge、8xlarge的ECS上测试DBFS性能,测试分为两组,一组在ESSD + ext4上构建MySQL,另一组在DBFS上构建MySQL。对两组采用相同的测试参数,从测试得出的数据中可以看出,MySQL on DBFS在性能的优势明显。下面是详细的性能数据展示:
- 2xlarge ECS上的性能数据
压测线程数量 MySQL每秒事务数量(ESSD) MySQL每秒事务数量(DBFS) DBFS比Ext4+ESSD提升 8 4858 8136 67% 16 8473 13670 61% 32 13977 21296 52% 64 22928 29339 27% - 4xlarge ECS 上的性能数据
压测线程数量 MySQL每秒事务数量(ESSD) MySQL每秒事务数量(DBFS) DBFS比Ext4+ESSD提升 8 5335 7957 49% 16 9267 13487 45% 32 16561 22271 34% 64 29754 37339 25% - 8xlarge ECS上的性能数据
压测线程数量 MySQL每秒事务数量(ESSD) MySQL每秒事务数量(DBFS) DBFS比Ext4+ESSD提升 8 5201 7974 53% 16 9178 12935 40% 32 16483 21497 30% 64 28666 36951 28%
测试方法
本次测试使用的环境说明:
环境 | 规格/版本 |
---|---|
测试机 | ecs.r6.8xlarge |
MySQL | 5.7.26 |
Sysbench | 1.1.0-805825f |
本次测试使用的参数说明:
软件 | 说明 |
---|---|
MySQL | DBFS 具有原子写能力,在MySQL On DBFS时可以关闭MySQL的innodb_doublewrite配置选项。测试MySQL on DBFS时设置innodb_doublewrite=OFF,测试MySQL on ESSD+ext4时设置innodb_doublewrite=ON |
Sysbench | sysbench --db-driver=mysql --report-interval=1 --table-size=10000 --tables=16 --mysql-host=127.0.0.1 --mysql-port=3307 --mysql-user=xxxx --mysql-password=xxxx /usr/local/share/sysbench/oltp_insert.lua --time=100 --threads=xxxx --mysql-db=xxx run |
Ext4 | 使用默认挂载参数(rw,relatime) |
DBFS | N/A |