MariaDB10和MySQL5.6社区版压力测试

 2022-10-27    249  

编者按:从smart818的观点来看,线程池对性能的影响确实是非常大的,甚至可以把mariadb看成是mysql的企业版。在下面高并发测试显示,MySQL5.6.19的性能减少了50%,整个测试也说明了,MariaDB10确实比MySQL5.6社区版强很多。

补上作业,MariaDB10和MySQL5.6社区版压力测试,见下图:

sysbench(10.8.8.43)

MySQL5.6和MariaDB10.0.11(10.8.8.100)

压力测试参数:

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=testrun

1千万记录,不限制请求,压测15分钟,并发连接数512个。

my.cnf参数:

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的线程池)

机器配置:

比较差,DELL R610,2颗4核CPU,RAID1(WriteBack策略)7200转SAS硬盘。

/zb_users/upload/2022/10/27/20221009001315-6342121b679b4.jpg

可以明显的看到,在高并发的时候,MySQL5.6.19的性能减少了50%。

下面是top和压力测试截图:

MySQL5.6.19

/zb_users/upload/2022/10/27/20221009001315-6342121bdc352.jpg

load average达到195,已经超负荷。

/zb_users/upload/2022/10/27/20221009001316-6342121c73bcc.jpg

TPS为每秒1002.42个。

MariaDB10.0.11

/zb_users/upload/2022/10/27/20221009001316-6342121ce5335.jpg

load average为11.59

/zb_users/upload/2022/10/27/20221009001317-6342121d7619c.jpg

TPS为每秒2044.80个。

补充:现在把并发连接数调成了900个,再压一次,看看TPS:

MySQL5.6.19

/zb_users/upload/2022/10/27/20221009001318-6342121e06969.jpg

MariaDB10.0.11

/zb_users/upload/2022/10/27/20221009001318-6342121e7a44d.jpg

可以看到,随着并发连接数的增加,MySQL5.6性能持续下降,而MariaDB10,性能保持平稳。

结论:

大体和官方的测试差不多,因手里没有MySQL5.6的企业版,所以不能说MariaDB10就一定强,但在高并发环境,MySQL5.6.19社区版不建议使用在生产环境上。

官方的测试:http://hcymysql.blog.51cto.com/5223301/1404998

博文地址:http://hcymysql.blog.51cto.com/5223301/1424625

原文链接:http://www.77isp.com/post/10612.html

=========================================

http://www.77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。