编者按:从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-表引擎=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=testrun1万条记录,无限请求,压测15分钟,512个并发连接。my.cnf参数:sync_binlog=0innodb_flush_log_at_trx_commit=0innodb_flush_method=O_DIRECTinnodb_flush_neighbors=1innodb_buffer_pool_size=20Ginnodb_io_capacity=500innodb_log_file_size=512Minnodb_log_files_in_group=3innodb_log_buffer_size=16Mtx_isolation=READ-COMMITTEDthread_handling=pool-of-threads(MariaDB的线程池)机器配置:比较差,DELLR610,2个4核CPU,RAID1(WriteBack策略)7200转SAS硬盘。可以明显看出MySQL5.6.19在高并发的情况下性能下降了50%。以下是top和压测截图:MySQL5.6.19loadaverage达到195,已经过载。TPS为每秒1002.42。MariaDB10.0.11平均负载为11.59TPS,即每秒2044.80。补充:现在把并发数调到900,再按一下,看TPS:MySQL5.6.19MariaDB10.0.11可以看到随着并发数的增加,MySQL5.6的性能不断下降,而MariaDB10,性能保持稳定。结论:与官方测试大致相同。因为手头没有MySQL5.6企业版,所以不能说MariaDB10就一定强。但是在高并发环境下,不建议在生产环境使用MySQL5.6.19社区版。官方测试:http://hcymysql.blog.51cto.com/5223301/1404998博客地址:http://hcymysql.blog.51cto.com/5223301/1424625
