MySQL8.0出來已經有很長時間了,目前最新版本是MySQL8.0.20 ,那麼MySQL8.0到底比MySQL5.7 性能有多大的提升呢,今天就做了一組壓力測試來實際測試一下。爲了使結果更具有說服性,測試環境是完全一樣,具體測試結果如下:
測試內容
- 測試mysql5.7和mysql8.0 分別在讀寫、只讀、只寫模式((oltp_read_write,oltp_read_only,oltp_write_only))下不同併發時的性能(tps,qps)
測試環境
- 測試使用版本分別爲mysql8.0.20和mysql5.7.30
- Sysbench測試前先重啓mysql服務,並清空OS的cache(避免多次測試時命中緩存)
- 每次進行測試都是新生成測試數據後再進行mysql8.0和mysql5.7的測試
- 每次測試時保證mysql8.0和mysql5.7參數一致
- sysbench 測試數據: --table-size=2000000 --tables=20 --time=600
系統環境
- 操作系統都是CentOS Linux release 7.4.1708 (Core),內存32G
- 主要配置參數都是:
innodb_buffer_pool_size 8GB
innodb_log_buffer_size 16M
innodb_log_file_size 256M
innodb_flush_log_at_trx_commit 1
sync_binlog 1
binlog_format ROW
log_bin ON
transaction_isolation REPEATABLE-READ
- sysbench 版本:
[root@cpe-172-100-1-35 jsunicom]# sysbench --version
sysbench 1.1.0
測試數據
- 讀寫模式
- 只讀模式
- 只寫模式
測試下來發現MySQL8.0性能還沒MySQL5.7 性能好,不知道其他的小夥伴測試結果是否有不一致的,歡迎溝通交流!