tpcc-mysql mysql基准测试工具使用文档

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

mysql基准测试工具tpcc-mysql的安装和使用
1.tpcc-mysql介绍:
TPC(Tracsaction Processing Performance Council) 事务处理性能协会是一个评价大型数据库系统软硬件性能的非盈利的组织,TPC-C是TPC协会制定的,用来测试典型的复杂OLTP系统的性能。Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试.
2.官网地址:
https://github.com/Percona-Lab/tpcc-mysql
3.安装方法:
官网下载源码。
把源码存放到需要测试mysql的服务器上。

设置mysql路径
我得MySQL是用源安装的,我得路径为:
export PATH=/usr/bin/mysql:$PATH
如果找不到mysql,执行查找命令查找下,查找命令,参考如下:
find / -name mysql

进入源码目录
执行make

注意:我执行的时候报错:
/bin/sh: mysql_config: 未找到命令
找不到mysql_config。
用命令检查下:
whereis mysql_config
是没有。
我后面检查发现,我是没有安装mysql-devel,安装mysql-devel后。
再执行
不再报错。

编译完成后,会生成两个文件:

tpcc_start
tpcc_load

tpcc_load是导入数据的脚本
tpcc_start是执行测试的脚本

到此安装结束。

4.导入数据
建议测试数据库:
mysqladmin -uroot -p create tpcc1000
mysql -uroot -p tpcc1000 <create_table.sql
mysql -uroot -p tpcc1000<add_fkey_idx.sql

导入数据:
./tpcc_load -h127.0.0.1 -d tpcc1000 -u root -p "123456" -w 100
创建100个仓库并填充数据。
数据是通过load.sh脚本加载的
我用的是虚机测试,速度好慢,整个过程持续了大约2个小时。
最后出现:
...DATA LOADING COMPLETED SUCCESSFULLY.
导入成功。

5.执行测试
命令:
./tpcc_start -h 127.0.0.1 -p 3306 -d tpcc1000 -u root -p "123456" -w 10 -c 10 -r 100 -l 300 -i 20 -f /var/log/tpcc_mysql.log -t /var/log/tpcc_mysql.rtx
参数说明:
-w warehouse 仓库;
-c 连接数;
-r warmup_time:指定预热时间,以秒为单位,默认是10秒,主要目的是为了将数据加载到内存;
-l running_time:指定测试执行时间,以秒为单位,默认是20秒;
-i report_interval:指定生产报告的时间间隔,默认是10秒,我这里设置了20秒;
-f report_file:将测试中各项操作的记录输出到指定文件内保存;
-t trx_file:输出更详细的操作信息到指定文件内保存;

执行结果:

20, trx: 164, 95%: 1487.825, 99%: 1991.466, max_rt: 2246.449, 165|1743.200, 17|1277.349, 16|4179.249, 16|4035.317

详细解释:
20 是我上面设置的时间间隔
164 20秒内执行了164次事务
95% 事务平均响应时间为1487秒
99% 事务平均响应时间为1991秒
max_rt 事务最长响应时间为2246秒

[0] sc:1 lt:2644 rt:0 fl:0 avg_rt: 947.1 (5)
[1] sc:164 lt:2477 rt:0 fl:0 avg_rt: 209.1 (5)
[2] sc:3 lt:261 rt:0 fl:0 avg_rt: 418.6 (5)
[3] sc:0 lt:264 rt:0 fl:0 avg_rt: 1932.7 (80)
[4] sc:0 lt:265 rt:0 fl:0 avg_rt: 1226.4 (20)
in 300 sec.

[0] sc:1 lt:2644 rt:0 fl:0
[1] sc:164 lt:2477 rt:0 fl:0
[2] sc:3 lt:261 rt:0 fl:0
[3] sc:0 lt:264 rt:0 fl:0
[4] sc:0 lt:265 rt:0 fl:0

(all must be [OK])
[transaction percentage]
Payment: 43.44% (>=43.0%) [OK]
Order-Status: 4.34% (>= 4.0%) [OK]
Delivery: 4.34% (>= 4.0%) [OK]
Stock-Level: 4.36% (>= 4.0%) [OK]
[response time (at least 90% passed)]
New-Order: 0.04% [NG] *
Payment: 6.21% [NG] *
Order-Status: 1.14% [NG] *
Delivery: 0.00% [NG] *
Stock-Level: 0.00% [NG] *

             529.000 TpmC

解释:
sc:即seccess,操作成功的数量。
lt:即late,指操作出现延迟的数量。
rt:即retry,指操作重试的数量。
fl:即failure,指操作失败的数量。

我的是vmware虚机测试。
各项数据太烂也算正常。

有参考文档:
http://blog.csdn.net/yumushui/article/details/37764467
主要是英文不太好,参考了他的参数英文解释翻译。




本文转自 am2012 51CTO博客,原文链接:http://blog.51cto.com/goome/1958328
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
89 6
性能工具之emqtt-bench BenchMark 测试示例
|
26天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0
|
8天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】利用AI辅助工具提高软件测试效率与准确性
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
4天前
|
机器学习/深度学习 人工智能 测试技术
提升软件测试效率与准确性的策略与工具
【5月更文挑战第2天】 在软件开发生命周期中,测试阶段是确保产品质量的关键。然而,传统的测试方法往往耗时且容易出错。本文将探讨一系列现代软件测试策略和工具,旨在提高测试效率和准确性。我们将分析自动化测试框架、持续集成(CI)、测试驱动开发(TDD)以及人工智能(AI)在测试中的应用,并讨论如何结合这些技术和方法来优化测试流程。
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
|
5天前
|
敏捷开发 监控 测试技术
探索自动化测试工具Selenium Grid的高效集成策略
【4月更文挑战第30天】在现代Web应用的快速迭代和持续部署中,测试自动化已成为确保产品质量的关键。Selenium Grid作为一款支持多种浏览器和操作系统的测试工具,提供了并行执行测试用例的能力,极大地提升了测试效率。本文将深入探讨如何高效地将Selenium Grid集成到现有的测试框架中,以及实施过程中的最佳实践,帮助团队最大化测试覆盖率,同时降低资源消耗。
|
5天前
|
中间件 测试技术 API
探索自动化测试工具的新边界:Selenium与Appium的集成实践
【4月更文挑战第30天】 随着移动应用和Web应用的不断融合,传统的自动化测试工具需要适应新的测试环境。本文将详细分析Selenium和Appium这两款流行的自动化测试工具的集成实践,探讨如何构建一个能够同时支持Web和移动端应用的自动化测试框架。通过对比两者的技术架构、功能特性以及在实际项目中的集成过程,我们旨在为读者提供一个清晰的指导,帮助他们在复杂的应用环境中实现高效、稳定的自动化测试流程。
|
6天前
|
机器学习/深度学习 人工智能 机器人
深入理解自动化测试:框架、工具与实践
【4月更文挑战第30天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速市场交付的关键环节。本文将探讨自动化测试的核心框架、常用工具以及实际应用的最佳实践,旨在为软件测试工程师提供深入的理解和有效的策略,以改进其自动化测试流程。我们将分析几种流行的测试自动化框架,包括Selenium、Appium和JUnit,并讨论如何根据项目需求选择适合的工具。此外,文中还将介绍持续集成(CI)环境下的自动化测试策略,以及如何通过测试结果分析和报告来优化测试过程。目标是帮助读者构建更健壮、更高效的自动化测试系统。
|
6天前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 1
|
6天前
|
IDE 测试技术 持续交付
探索自动化测试工具Selenium的高效应用
【4月更文挑战第29天】 在快速迭代的软件开发过程中,高效的测试策略是确保产品质量的关键。本文将深入探讨如何利用自动化测试工具Selenium来提高软件测试的效率和准确性。通过介绍Selenium的核心功能、脚本编写技巧以及与持续集成环境的集成方法,我们旨在为读者提供一个全面的Selenium应用指南。此外,我们还将讨论常见的问题解决策略,并通过案例分析展示如何有效地运用Selenium进行复杂的Web应用测试。