本文主要说明在阿里云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