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