IT技术博客大学习 共学习 共进步

MySQL不同分支版本的压力测试

MySQL支持 2010-03-18 09:02:29 浏览 3,081 次

    压力测试的目的:

    通过压力测试了解一下不同发行版本的性能区别。

    MySQL不的版本测试,MySQL同样的配置

    具体版本如下:

    MySQL-5.1.42企业版+innodb-plugin

    MySQL-5.1.42企业版+默认的innodb

    MySQL-5.1.43开源版+ innodb-plugin

    MySQL-5.1.43 Percona

    压力设置

    创建一个1kw的Innodb表,使用16个并发去进行读取写入更新事务方面的操作.

    测试工具:

    Sysbench

    测试方法:

    创建数据:

    time sysbench -mysql-user=root -mysql-host=localhost -test=oltp -oltp-test-mode=complex -mysql-table-engine=innodb -oltp-table-size=10000000 -mysql-db=test -oltp-table-name=innodb_1kw -num-threads=16 -max-requests=500000 preware

    测试:

    time sysbench -mysql-user=root -mysql-host=localhost -test=oltp -oltp-test-mode=complex -mysql-table-engine=innodb -oltp-table-size=10000000 -mysql-db=test -oltp-table-name=innodb_1kw -num-threads=16 -max-requests=500000 run

    MySQL的基本配置

    innodb_buffer_pool_size = 30G

    innodb_data_file_path = ibdata1:1G:autoextend

    transaction_isolation = READ-COMMITTED

    innodb_thread_concurrency = 16

    innodb_flush_log_at_trx_commit = 1

    innodb_log_buffer_size = 8M

    innodb_log_file_size = 256M

    innodb_log_files_in_group = 3

    innodb_log_group_home_dir=/u1/mysqlp/logs/

    innodb_max_dirty_pages_pct = 75

    innodb_flush_method=O_DIRECT

    innodb_lock_wait_timeout = 20

    innodb_file_per_table = 1

    启用innodb-plugin

    测试结果

    分别测试三次,取平均值:

版本 事务/秒 写入读取/秒 其它操作/秒
MySQL企业版Innodb 1882.32 35764.1 3764.64
MySQL企业版Innodb-plugin 2395.073 45506.45 4790.15
MySQL开源版innodb-plugin 2288.09 43473.72 4576.18
Precona-MySQL 2754.24 52330.52 5508.48

    1kw 写入的速度

版本 写入1kw数据总时间 用户 系统
MySQL企业版Innodb 3m25.318s 0m1.953s 0m0.177s
MySQL企业版Innodb-plugin 3m0.077s 0m1.783s 0m0.081s
MySQL开源版Innodb-plugin 3m0.169s 0m1.882s 0m0.125s
Precona-MySQL 3m0.030s 0m1.979s 0m0.192s

    结果分析

    事务对比:

    transcation

    写入读取对比:

    readwrite

    其它操作对比:

    other

    MySQL的开源版和企业版的Innodb性能相差不大,所以这里不在单独比较。总的来看Precona的MySQL性能表现良好。针对Innodb-plugin的的比较MySQL的企业版少表现比较好一点。从数据上来看选择不同的版本性能上最大的区别基本接近2倍。

建议继续学习

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 (阅读 55,342)
  2. 安全测试与渗透测试区别 (阅读 24,822)
  3. 使用Fiddler对手机应用进行抓包测试 (阅读 8,460)
  4. 服务器性能测试工具推荐 (阅读 7,902)
  5. 给Apache做压力测试时遇到的问题 (阅读 7,182)
  6. WEB性能测试工具推荐 (阅读 6,942)
  7. 可用性测试好助手——Morae软件的应用 (阅读 6,682)
  8. 12款很棒的浏览器兼容性测试工具推荐 (阅读 6,143)
  9. 性能测试工具sysbench简介 (阅读 5,904)
  10. 可用性测试的权衡之道(二) (阅读 5,721)