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 呢。

tpcc-mysql 试用的更多相关文章

  1. MySQL 常用工具sysbench/fio/tpcc等测试

    为什么要压力测试采购新设备,评估新设备性能开发新项目,评估数据库容量新系统上线前,预估/模拟数据库负载更换数据库版本,评估性能变化 关注指标  CPU %wait,%user,%sys 内存 只内存读 ...

  2. 初码-Azure系列-记一次MySQL数据库向Azure的迁移

    初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...

  3. 高性能MySQL(第3版) 中文PDF带目录清晰版

    下载地址: <高性能MySQL(第3版)>编辑推荐:"只要你不敢以MySQL专家自诩,又岂敢错过这本神书?""一言以蔽之,写得好,编排得好,需要参考时容易到爆 ...

  4. mysql基准测试工具tpcc-mysql安装、使用、结果解读

    TPCC是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统,tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于My ...

  5. 03:TPCC 基准压测my.cnf

    line: V1.3 mail: gczheng@139.com date: 2017-11-09 一.TPCC测试前准备 1.压测环境 配置 信息 主机 Dell PowerEdge R730xd ...

  6. MySQL搭建Amoeba_读写分离

    一.背景知识 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关 ...

  7. MySQL数据存储

    MySQL体系架构 客户端连接器 提供与MySQL服务器建立的支持.目前几乎支持所有主流的服务端编程技术,例如常见的 Java.C.Python..NET等,它们通过各自API技术与MySQL建立连接 ...

  8. 压力测试之TCPP

    1.下载源码 tpcc-mysql-src.tgz 2.解压 tpcc-mysql-src.tgz 3.安装 [root@DBMysql mysql]# cd /home/mysql/tpcc-mys ...

  9. 最详细的CentOS 6与7对比(三):性能测试对比

    本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...

  10. 实战MySQL集群,试用CentOS 6下的MariaDB-Galera集成版

    说起mysql的集群估计很多人会首先想起mysql自带的replication或者mysql-mmm.mysql-mmm其实也是基于mysql自带的replication的,不过封装的更好用一些,但是 ...

随机推荐

  1. Kubernetes笔记(一):十分钟部署一套K8s环境

    Kubernetes是Goole开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理 -- 百度百科. 接触K8s也有半年多了,也基于阿里云平台搭建了包含多级服务.目前运行较为稳定的 ...

  2. .NET Core 使用MediatR CQRS模式

    前言 CQRS(Command Query Responsibility Segregation)命令查询职责分离模式,它主要从我们业务系统中进行分离出我们(Command 增.删.改)和(Query ...

  3. 【转帖】Python 重复造轮子/造轮子找模子,你都应该熟读该文

    Chardet,字符编码探测器,可以自动检测文本.网页.xml的编码. colorama,主要用来给文本添加各种颜色,并且非常简单易用. Prettytable,主要用于在终端或浏览器端构建格式化的输 ...

  4. centos7在命令行下安装图形界面

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools" ln -sf /lib/sy ...

  5. foreach里的按引用传值问题

    1.foreach($arr as $k=>&$v){ } 这样循环时候最后一个结果前边会有&,出现输出不了的情况,这时候只需要加一个unset($v),加在循环里和外均可. 2 ...

  6. python学习24之异常

    '''''''''1.低级错误:纯语法错误2.中级错误:代码存在隐性错误,逻辑缺陷3.高级错误:软件面对不确定性的异常错误''''''一.捕获异常1.基本异常捕获语句try: #异常捕捉语句的开始 代 ...

  7. Libra教程之:move语言的特点和例子

    文章目录 move语言的特点 资源优先 灵活性 安全性 可验证性 Move语句初探 点对点支付交易脚本 Currency Module move语言的特点 Libra的目标是打造一个全球话的金融和货币 ...

  8. Handler 机制(一)—— Handler的实现流程

    由于Android采用的是单线程模式,开发者无法在子线程中更新 UI,所以系统给我提供了 Handler 这个类来实现 UI 更新问题.本贴主要说明 Handler 的工作流程. 1. Handler ...

  9. 【Linux常见命令】tar命令

    [独立命令,只能用其中一个,和别的命令连用]这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个. -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末 ...

  10. 原生JS中获取位置的方案总结

    获取鼠标当前位置 clientY.clientX: 鼠标当前位置 相对于 浏览器可视区域顶部.浏览器可视区域左部 的位置: pageY.pageX: 鼠标当前位置 相对于 文档顶部.文档左部的位置: ...