压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准。压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈。
TPCC测试:Transaction Processing Performance Council,要熟练使用
TPC是一系列事务处理和数据库基准测试的规范。其中TPC-C是针对OLTP的基准测试模型,一方面可以衡量数据库的性能,另一方面可以衡量硬件性价比,也是广泛应用并关注的一种测试模型。
TPC-C模型是以一个在线零售业为例,设计的一种模型。具体架构如下所示:
TPC-C测试模型给基准测试提供了一种统一的测试标准,并非实际应用系统中的真实测试结果,但通过测试结果,可以大体观察出MySQL数据库服务稳定性、性能以及系统性能等一系列问题。TPC-C仅仅是一个测试模型,而在实际测试中,需要参考和使用一些测试工具,对系统和MySQL数据库进行压力测试、稳定性测试。
1.安装bzr工具
[root@mysql1 /]# yum install bzr
2.下载tpcc-mysql
[root@mysql1 /]# bzr branch lp:~percona-dev/perconatools/tpcc-mysql
3.编译安装tpcc-mysql
[root@mysql1 /]# export PATH=/usr/local/mysql/bin:$PATH
[root@mysql1 /]# cd tpcc-mysql/src
[root@mysql1 src]# make
4.创建库
[mysql@mysql1 ~]$ mysqladmin -usystem -p123456 -S /data/mysqldata/3306/mysql.sock create tpcc
5.创建表
[mysql@mysql1 ~]$ mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock tpcc < /tpcc-mysql/create_table.sql
6.添加外键
[mysql@mysql1 ~]$ mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock tpcc < /tpcc-mysql/add_fkey_idx.sql
7.加载数据
tpcc 默认会读取 /var/lib/mysql/mysql.sock 这个socket位置,因此如果你的socket不在相应路径的话,就需要做个软连接
[root@mysql1 ~]# ln -s /data/mysqldata/3306/mysql.sock /var/lib/mysql/mysql.sock
[root@mysql1 ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64
如果出现错误,尝试上面的步骤
[mysql@mysql1 ~]$ /tpcc-mysql/tpcc_load localhost tpcc system "123456" 10
*************************************
*** ###easy### TPC-C Data Loader ***
*************************************
<Parameters>
[server]: localhost
[port]: 3306
[DBname]: tpcc
[user]: system
[pass]: 123456
[warehouse]: 10
TPCC Data Load Started...
Loading Item
.................................................. 5000
.................................................. 10000
.................................................. 15000
...DATA LOADING COMPLETED SUCCESSFULLY.
8.进行测试
[mysql@mysql1 ~]$ /tpcc-mysql/tpcc_start -h localhost -d tpcc -u system -p "123456" -w 1 -c 10 -r 10 -l 20 -f /home/mysql/tpcc_mysql.log -t /home/mysql/tpcc_mysql.rtx
-h:测试主机
-d:测试的数据库
-u:测试的用户
-p:测试用户的密码
-w:测试的warehouse数
-c:测试的连接线程数
-r:预热时间,warmup_time,以秒为单位,默认是10秒,目的是为了将数据加载到内存
-l:测试时间,默认为20秒
-i:report_interval指定生成报告的间隔时间
-f:report_file将测试中各项操作的记录输出到指定文件内保存
-t:trx_file输出更详细的操作信息到指定文件内保存
下面是返回结果:
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value 'localhost'
option d with value 'tpcc'
option u with value 'system'
option p with value '123456'
option w with value '1'
option c with value '10'
option r with value '10'
option l with value '20'
option f with value '/home/mysql/tpcc_mysql.log'
option t with value '/home/mysql/tpcc_mysql.rtx'
<Parameters>
[server]: localhost
[port]: 3306
[DBname]: tpcc
[user]: system
[pass]: 123456
[warehouse]: 1
[connection]: 10
[rampup]: 10 (sec.)
[measure]: 20 (sec.)
RAMP-UP TIME.(10 sec.)
MEASURING START.
10, 686(0):2.044|3.593, 684(0):0.487|1.325, 68(0):0.136|0.212, 68(0):2.060|2.095, 69(0):5.817|6.441
20, 676(0):1.508|2.585, 679(0):0.352|1.618, 67(0):0.140|0.294, 68(0):1.585|1.762, 67(0):4.154|5.968
分为6项,依次为操作时间(秒)、创建订单、订单支付、查询订单、发货以及查询库存
STOPPING THREADS..........
<Raw Results>
[0] sc:1362 lt:0 rt:0 fl:0
[1] sc:1363 lt:0 rt:0 fl:0
[2] sc:135 lt:0 rt:0 fl:0
[3] sc:136 lt:0 rt:0 fl:0
[4] sc:136 lt:0 rt:0 fl:0
in 20 sec.
<Raw Results2(sum ver.)>
[0] sc:1362 lt:0 rt:0 fl:0
[1] sc:1363 lt:0 rt:0 fl:0
[2] sc:135 lt:0 rt:0 fl:0
[3] sc:136 lt:0 rt:0 fl:0
[4] sc:136 lt:0 rt:0 fl:0
<Constraint Check> (all must be [OK])
[transaction percentage]
Payment: 43.52% (>=43.0%) [OK]
Order-Status: 4.31% (>= 4.0%) [OK]
Delivery: 4.34% (>= 4.0%) [OK]
Stock-Level: 4.34% (>= 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>
4086.000 TpmC 每分钟能够处理的订单数量
相关推荐
OceanBase数据库TPCC测试 OceanBase数据库TPCC测试是基于OceanBase数据库的TPCC测试,旨在评估OceanBase数据库的性能和可扩展性。TPCC测试是一个读写混合的测试,读写比例在1比1左右,测试的结果以每秒钟所处理的...
感谢您选用清华大学软件学院研发的《TPC-C 性能基准测试工具》。该工具 是基于数据库事务处理委员会的 TPC-C 性能基准,采用基准推荐的数据库服务 器与测试系统直连的模式,是一个简单易用、跨数据库平台性能的...
自己动手测试的,然后总结的! 是查阅很多资料后总结! linux下的tpcc测试
提供TPCC测试工具学习使用的一个流程图。
TPCCRunner-1.2是一款专门用于数据库性能测试的工具,它基于TPC-C标准,这个标准是由 Transaction Processing Performance Council(事务处理性能委员会)制定的,用于衡量数据库系统的在线事务处理(OLTP)性能。...
TPC-C测试是评估数据库管理系统在在线事务处理(OLTP)场景下性能的重要标准,由交易处理性能委员会(TPC)制定。TPC-C规范详细定义了一种模拟批发销售公司的业务模型,通过模拟真实世界中的事务操作来度量系统的性能。 ...
MySQL作为一个广泛使用的开源关系型数据库管理系统,支持TPCC测试,帮助用户评估其在高并发环境下的性能。"tpcc-mysql"是一个专门针对TPCC测试场景定制的MySQL版本或工具。 在准备安装tpcc-mysql之前,你需要了解...
BenchmarkSQL-4.1.jar,
TPCC测试着重于系统的并发性、一致性和性能稳定性。 2. **并发控制**:在TPCC压测中,工具会模拟多个并发用户执行事务,这需要数据库系统有高效的并发控制机制,如行级锁定、多版本并发控制(MVCC)或乐观并发控制...
TPCC 测试报告可以从 TPC Web 站点上获得,该报告将提供详细的测试结果和分析结果。 在实际应用中,TPCC 等性能测试指标可以帮助中小企业评估 IT 系统的性能和可靠性,从而选择合适的 IT 系统。同时,中小企业也...
本文将深入探讨BenchmarkSQL的核心功能、TPCC测试模型以及如何进行数据库标准化测试。 首先,了解BenchmarkSQL的基本概念至关重要。它是一个跨平台的测试套件,旨在模拟真实的在线事务处理(OLTP)工作负载,以便对...
2. TPCC 测试:使用 SwingBench 模拟 OLTP 场景,测试不同并发数下的性能,包括订单创建、客户注册等业务流程。 3. 业务压力测试:自开发应用压测软件模拟真实生产环境,确保压力值全面超越实际业务场景。 四、测试...
TPCC测试基准为在线事务处理(OLTP)的性能测试提供了一个标准化的模型,通过TPCC测试可以客观地评价服务器平台和数据库管理系统的事务处理性能。 本文建立的测试环境使用联想万全R530服务器,并在麒麟操作系统V2.0...
TPCC-MYSQL提供了一个tpcc_start工具,用于执行测试。可以使用以下命令执行测试: ```sql ./tpcc_start -h 192.168.65.3 -P 3306 -d tpcc -u root -p 123 ``` 其中,-h指定了服务器主机,-P指定了端口号,-d指定了...
在进行TPCC(Transaction Processing Performance Council C基准)事务性能基准测试时,MongoDB 的表现是评估其作为数据库解决方案的关键因素。以下是一些关于MongoDB性能优化和特性的重要知识点: 1. **数据模型**...
《TPC-C与MySQL:深度解析tpcc-mysql开源测试工具》 在信息技术领域,数据库性能的评测一直是衡量系统效率的重要指标。TPC-C作为业界公认的在线事务处理(OLTP)系统性能基准测试,被广泛应用于数据库产品的能力...
102482996986099R6-43 TPCC 性能测试v0.13.sql