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

安装环境的时候我一直在犹豫Apache安装2.2好还是2.4,MySQL安装什么版本,PHP又安装什么版本,相信很多人也会在这些问题上犹豫。那么他们到底有什么区别呢~

前言

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

压力测试参数:

  1. sysbench  –test=oltp –mysql-table-engine=innodb  
  2. –oltp-table-size=10000000 –max-requests=0 –max-time=900  
  3. –num-threads=512 –mysql-host=10.8.8.100 –mysql-port=3308  
  4. –mysql-user=admin –mysql-password=123456  –mysql-db=test run

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

my.cnf参数:

  1. sync_binlog = 0
  2. innodb_flush_log_at_trx_commit = 0
  3. innodb_flush_method = O_DIRECT
  4. innodb_flush_neighbors = 1
  5. innodb_buffer_pool_size = 20G
  6. innodb_io_capacity = 500
  7. innodb_log_file_size = 512M
  8. innodb_log_files_in_group = 3
  9. innodb_log_buffer_size = 16M
  10. tx_isolation = READCOMMITTED
  11. thread_handling = pool-of-threads(MariaDB的线程池)

机器配置:

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

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

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

MySQL5.6.19

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

TPS为每秒1002.42个。

MariaDB10.0.11

load average为11.59

TPS为每秒2044.80个。

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

MySQL5.6.19

MariaDB10.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

 

 

发表评论

发表评论

*

沙发空缺中,还不快抢~