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