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倍。
最后来张对比图,

图的生成方法用了下面链接里的方法
关于 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 试用的更多相关文章
- MySQL 常用工具sysbench/fio/tpcc等测试
为什么要压力测试采购新设备,评估新设备性能开发新项目,评估数据库容量新系统上线前,预估/模拟数据库负载更换数据库版本,评估性能变化 关注指标 CPU %wait,%user,%sys 内存 只内存读 ...
- 初码-Azure系列-记一次MySQL数据库向Azure的迁移
初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...
- 高性能MySQL(第3版) 中文PDF带目录清晰版
下载地址: <高性能MySQL(第3版)>编辑推荐:"只要你不敢以MySQL专家自诩,又岂敢错过这本神书?""一言以蔽之,写得好,编排得好,需要参考时容易到爆 ...
- mysql基准测试工具tpcc-mysql安装、使用、结果解读
TPCC是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统,tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于My ...
- 03:TPCC 基准压测my.cnf
line: V1.3 mail: gczheng@139.com date: 2017-11-09 一.TPCC测试前准备 1.压测环境 配置 信息 主机 Dell PowerEdge R730xd ...
- MySQL搭建Amoeba_读写分离
一.背景知识 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关 ...
- MySQL数据存储
MySQL体系架构 客户端连接器 提供与MySQL服务器建立的支持.目前几乎支持所有主流的服务端编程技术,例如常见的 Java.C.Python..NET等,它们通过各自API技术与MySQL建立连接 ...
- 压力测试之TCPP
1.下载源码 tpcc-mysql-src.tgz 2.解压 tpcc-mysql-src.tgz 3.安装 [root@DBMysql mysql]# cd /home/mysql/tpcc-mys ...
- 最详细的CentOS 6与7对比(三):性能测试对比
本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...
- 实战MySQL集群,试用CentOS 6下的MariaDB-Galera集成版
说起mysql的集群估计很多人会首先想起mysql自带的replication或者mysql-mmm.mysql-mmm其实也是基于mysql自带的replication的,不过封装的更好用一些,但是 ...
随机推荐
- (一)PL/SQL简介
PL/SQL PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用上增加了编 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...
- Visual Studio 添加图标和版本
在Visual Studio中,如果你创建的是纯C语言的工程,那么给可执行程序添加图标就没有便捷的入口. 但也只是入口不好找了,添加步骤还是比较简单的,以下为具体操作方法: 1. 右键点击C工 ...
- 《Redis设计与实现》之第十二章:事件
Redis服务器是一个事件驱动程序,服务器需要处理两类事件: 文件事件: 文件事件就是服务器对套接字(socket)操作的抽象,服务器和客户端的通信会产生文件事件 时间事件: 时间事件就是服务器对定时 ...
- RxJava--Buffer,GroupBy 对比
Buffer 设定收集n个元素为一组,以下方代码为例,三个为一组,则当组满三个元素时,返回一次List数据 没组满三个元素时,如果调用onComplete,直接发送剩余元素,没调用onComplete ...
- 怎样实现App安装来源追踪
众所周知,国内的应用商店存在一定的限制,开发者很难有效监测到App安装来源的精准数据.但在实际推广中,广告效果.用户行为.付费统计.邀请关系等不同渠道的指标却是衡量渠道价值的关键,对App的运营推广和 ...
- 使用SWIG将C++接口转换成Java接口
PS:此文章仅作为个人记录使用,代码属于私密,故无法公开: 以C++类classifier为例,文件保存于百度网盘 https://pan.baidu.com/s/1c2AwhaS(需密码) 系统:U ...
- THU OS
前言 最近在学清华的OS课程,实验课做的真厉害. 我们的操作系统课就是写一个系统调用,改下进程软中断通信的代码,代码量不足500...清华是借鉴MIT的课,实验课都是做一个完整的小型操作系统. 一共8 ...
- C++编程入门--No.7
输出特殊图案,请在c环境中运行,看一看,Very Beautiful! 1.程序分析:字符共有256个.不同字符,图形不一样. 2.程序源代码: #include "stdio.h" ...
- 数学--数论--HDU1576 A / B(逆元)
问题描述 要求(A / B)%9973,但由于A很大,我们只被告知n(n = A%9973)(我们给定的A必能被B整除,且gcd(B,9973)= 1). 输入项 数据的第一行是一个T,表示有T组数据 ...