MariaDB10和MySQL5.6社區(qū)版壓力測(cè)試
編者按:從smart818的觀點(diǎn)來看,線程池對(duì)性能的影響確實(shí)是非常大的,甚至可以把mariadb看成是mysql的企業(yè)版。在下面高并發(fā)測(cè)試顯示,MySQL5.6.19的性能減少了50%,整個(gè)測(cè)試也說明了,MariaDB10確實(shí)比MySQL5.6社區(qū)版強(qiáng)很多。
補(bǔ)上作業(yè),MariaDB10和MySQL5.6社區(qū)版壓力測(cè)試,見下圖:
sysbench(10.8.8.43)
MySQL5.6和MariaDB10.0.11(10.8.8.100)
壓力測(cè)試參數(shù):
- sysbench --test=oltp --mysql-table-engine=innodb
- --oltp-table-size=10000000 --max-requests=0 --max-time=900
- --num-threads=512 --mysql-host=10.8.8.100 --mysql-port=3308
- --mysql-user=admin --mysql-password=123456 --mysql-db=test run
1千萬記錄,不限制請(qǐng)求,壓測(cè)15分鐘,并發(fā)連接數(shù)512個(gè)。
my.cnf參數(shù):
- sync_binlog = 0
- innodb_flush_log_at_trx_commit = 0
- innodb_flush_method = O_DIRECT
- innodb_flush_neighbors = 1
- innodb_buffer_pool_size = 20G
- innodb_io_capacity = 500
- innodb_log_file_size = 512M
- innodb_log_files_in_group = 3
- innodb_log_buffer_size = 16M
- tx_isolation = READ-COMMITTED
- thread_handling = pool-of-threads(MariaDB的線程池)
機(jī)器配置:
比較差,DELL R610,2顆4核CPU,RAID1(WriteBack策略)7200轉(zhuǎn)SAS硬盤。
可以明顯的看到,在高并發(fā)的時(shí)候,MySQL5.6.19的性能減少了50%。
下面是top和壓力測(cè)試截圖:
MySQL5.6.19
load average達(dá)到195,已經(jīng)超負(fù)荷。
TPS為每秒1002.42個(gè)。
MariaDB10.0.11
load average為11.59
TPS為每秒2044.80個(gè)。
補(bǔ)充:現(xiàn)在把并發(fā)連接數(shù)調(diào)成了900個(gè),再壓一次,看看TPS:
MySQL5.6.19
MariaDB10.0.11
可以看到,隨著并發(fā)連接數(shù)的增加,MySQL5.6性能持續(xù)下降,而MariaDB10,性能保持平穩(wěn)。
結(jié)論:
大體和官方的測(cè)試差不多,因手里沒有MySQL5.6的企業(yè)版,所以不能說MariaDB10就一定強(qiáng),但在高并發(fā)環(huán)境,MySQL5.6.19社區(qū)版不建議使用在生產(chǎn)環(huán)境上。