zoukankan      html  css  js  c++  java
  • tpcc-mysql 试用

    percona 出的一个mysql压力测试工具,至于tpcc的话,是一个衡量事务处理能力的一个值。具体可以看老外对他的定义。

    http://www.tpc.org/tpcc/results/tpcc_perf_results.asp  

    现在来说tpcc-mysql 

    安装:

    centos/red hat平台是 

    yum install bzr  

    bzr branch lp:~percona-dev/perconatools/tpcc-mysql

    cd src

    make

    当然你要安装mysql-devel包。

    我测试5.1的版本。参数主要是

    key_buffer_size = 50M
    max_allowed_packet = 1M
    table_open_cache = 256
    sort_buffer_size = 1M
    read_buffer_size = 1M
    read_rnd_buffer_size = 1M
    myisam_sort_buffer_size = 2M
    thread_cache_size = 8
    query_cache_size= 16M
    thread_concurrency = 8
     innodb_buffer_pool_size = 300M
     innodb_additional_mem_pool_size = 20M
     innodb_log_buffer_size = 8M
     innodb_flush_log_at_trx_commit = 1
     innodb_lock_wait_timeout = 50

    innodb_buffer_pool_size 是300M的

    创建测试的 数据库 

    mysql -e 'create database tpcc1000'

    mysql tpcc1000 <create_table.sql

    mysql tpcc1000 <add_fkey_idx.sql

    ./tpcc_load localhost tpcc1000 root "" 5 

    这里5的意思是数据量的大小,打开innodb per file ,可以看5,生成的数据量大概在500M 。10的话大概是1G

    ./tpcc_start -hlocalhost -dtpcc1000 -uroot -w5 -c16 -r10 -l200

    测试200s,预热10s,结果是300tpmC

    硬件方面是,pc 机,amd 双核 Athlon(tm) X2 240 2800Mhz ,内存1.8G

    <Constraint Check> (all must be [OK])
     [transaction percentage]
            Payment: 43.45% (>=43.0%) [OK]
       Order-Status: 4.38% (>= 4.0%) [OK]
           Delivery: 4.31% (>= 4.0%) [OK]
        Stock-Level: 4.38% (>= 4.0%) [OK]
     [response time (at least 90% passed)]
          New-Order: 100.00%  [OK]
            Payment: 100.00%  [OK]
       Order-Status: 100.00%  [OK]
           Delivery: 100.00%  [OK]
        Stock-Level: 100.00%  [OK]
    
    <TpmC>
                     372.600 TpmC

    最终结果是一个tpmc的值。

    提高innodb_buffer_pool_size 到600M 发现测试结果没有提高

    这里将innodb_flush_log_at_trx_commit设成2 ,结果大大出乎意料

    <Constraint Check> (all must be [OK])
     [transaction percentage]
            Payment: 43.48% (>=43.0%) [OK]
       Order-Status: 4.35% (>= 4.0%) [OK]
           Delivery: 4.35% (>= 4.0%) [OK]
        Stock-Level: 4.35% (>= 4.0%) [OK]
     [response time (at least 90% passed)]
          New-Order: 100.00%  [OK]
            Payment: 100.00%  [OK]
       Order-Status: 100.00%  [OK]
           Delivery: 100.00%  [OK]
        Stock-Level: 100.00%  [OK]
    
    <TpmC>
                     7590.600 TpmC

    达到惊人的7500,是原来的20倍。

    最后来张对比图,

    图的生成方法用了下面链接里的方法

    http://www.mysqlperformanceblog.com/2013/07/01/tpcc-mysql-simple-usage-steps-and-how-to-build-graphs-with-gnuplot/

    关于 innodb_flush_log_at_trx_commit 也可 参看这篇文章  http://swachian.iteye.com/blog/193788

    最近比较火大,一起维护的服务器,其他同事单方面的更改了ssh 连接限制,我完全不知晓,还在奇怪为什么搞了半天都登不上服务器,原来他们在交换机上做了限制,公网ip无法登入了。我气死,我们一旦有什么没报,他们要问为什么不向他们汇报,但是自己动了关键性的东西,为什么不告诉我们一声? 登录都不能登录了还叫我维护个毛啊。己所不欲勿施于人。

    被人不理解,被人误解。我要把这些压力转化为动力!

    2013年7月13日 11:57:43

    我回头又用win7 的virtualbox 安装centos6.3 测了一下自带的5.1的mysql 。

    物理机是i3 双核,4G ,sata 分了2g给虚拟机

    主要几个参数

    innodb_log_file_size = 50M
    innodb_log_buffer_size = 8M
    innodb_flush_log_at_trx_commit = 2
    innodb_lock_wait_timeout = 50

    innodb_buffer_pool_size = 500M

    <TpmC>
    6541.800 TpmC

    tpmc 也能达到6500样子,如果你测出来只是3,4百,那肯定是小了,木有发挥出innodb的优势出来。那还不如用myisam 呢。

  • 相关阅读:
    javascript 中的暗物质 闭包
    关于使用 jBox 对话框的提交问题
    Orchard 的项目结构解决方案文件夹的原理与使用
    翻译:创建 Windows8 应用 Part I: Hello, world!
    翻译:FireBug 1.10 新特性
    SQL数据库设计经验
    我的女孩
    在WINDOWS下安装MRTG全攻略网络流量监控
    ASP实用函数库
    DIV CSS设计时IE6、IE7、FF 与兼容性有关的特性
  • 原文地址:https://www.cnblogs.com/gqdw/p/3187394.html
Copyright © 2011-2022 走看看