自学内容网 自学内容网

容器内压力测试

用tpcc对自身服务器做压力测试

概念:

TPCC(Transaction Processing Performance Council-C Benchmark)是一个用于评估数据库系统在线事务处理(OLTP)性能的基准测试。它模拟了一个复杂的分布式数据库环境,包括多种事务类型,如新订单、支付、订单状态查询、发货和库存水平查询等。以下是对TPCC测试结果的一般性分析和解读,但请注意,具体的测试结果会根据测试环境、硬件配置、数据库系统等因素而有所不同。

TPCC测试结果的主要指标

事务吞吐量(Transactions Per Minute, TPM):

这是衡量数据库系统处理事务能力的关键指标,表示系统每分钟能够完成的事务数量。

高吞吐量表明系统能够高效地处理大量并发事务。

响应时间(Response Time):

表示系统处理单个事务所需的时间。

通常关注90%或99%的事务的响应时间,即90%或99%的事务都能在多少时间内完成。

较短的响应时间意味着系统能够更快地响应用户请求。

事务成功率:

表示成功完成的事务占总事务数的比例。

高成功率表明系统稳定运行,错误率低。

测试结果分析

在TPCC测试结果中,通常会包含以下几个关键部分:

热身阶段(Ramp-Up Time):测试开始前的准备阶段,用于预热系统,确保系统达到稳定状态。

测量阶段:实际测试阶段,系统按照预定的负载运行,并收集各项性能指标。

结果输出:测试完成后,系统输出详细的测试结果,包括吞吐量、响应时间、事务成功率等。

示例解读

以参考文章中的示例输出为例(请注意,由于示例数据较为陈旧,且具体格式可能因工具版本和配置而异,以下解读仅为示例):

20, trx: 1365, 95%: 149.731, 99%: 192.421, max_rt: 375.631

20:表示测试开始后的第20秒。

trx: 1365:表示在这20秒内,系统成功处理了1365个事务(吞吐量的一部分)。

95%: 149.731:表示95%的事务的响应时间为149.731毫秒。

99%: 192.421:表示99%的事务的响应时间为192.421毫秒。

max_rt: 375.631:表示在这段时间内,最长的事务响应时间为375.631毫秒。

注意事项

解读测试结果时,需要结合测试环境的具体情况,如硬件配置、网络状况、数据库配置等。

不同的数据库系统在同一测试环境下可能表现出不同的性能。

测试结果可能受到多种因素的影响,如并发用户数、事务类型分布、数据库索引设计等。

结论

TPCC测试结果提供了关于数据库系统在线事务处理性能的重要信息,但解读这些结果时需要考虑多种因素。为了获得更准确的评估,建议在多个测试环境下进行多次测试,并综合考虑各项性能指标。

安装:

将tpcc-mysql-src.tgz文件传到家目录下

tar xf tpcc-mysql-src.tgz解压

cd /home/tpcc-mysql/src进入文件夹

yum install make gcc mysql-devel -y消除依赖关系

make安装

建立容器:

docker run -d -p 3309:3306 --name psl-1 --cpu-shares 500 -m 500000000 --network changsha -e MYSQL_ROOT_PASSWORD='123456' mysql:5.7.41建立容器psl-1并运行

压力测试:

mysql -h 192.168.67.145 -P3309 -uroot -p’123456’连接上本机内3309端口的容器内的mysql

create database tpcc创建数据库tpcc,exit退出

(或者前两步可以docker exec -it psl-1 bash进入容器内部操作系统,再mysql -uroot -p’123456’进入mysql建立数据库)

mysql -h 192.168.67.145 -P 3309 -uroot -p'123456' tpcc <create_table.sql在自己创建的tpcc数据库中创建表

mysql -h 192.168.67.145 -P 3309 -uroot -p'123456' tpcc <add_fkey_idx.sql向表里写入数据

./tpcc_load 192.168.67.145:3309 tpcc root '123456' 150运行tpcc进行压力测试

(解释:./tpcc_load [server] [db] [user] [password] [warehouse]

                 服务器名 数据库名 用户名 密码 仓库数量)

查看效果:

可以另外复制两个会话:
一个docker stats查看cpu使用情况,一个top查看进程情况

用ab对云服务器进行压力测试

先用xshell远程连接上自己的云服务器

压力测试:

docker run -d -p 9900:80 --name liu-nginx --cpu-shares 200 -m 50000000 nginx

去浏览器输入自己云服务器公网ip:9900查看nginx初始网页效果

(如果查看不了,可能要去云服务器网站添加实例的安全组,允许9900端口访问)

再ab -c 100 -n 100000 http://自己云服务器公网ip:9900/

查看效果:

可以另外复制两个会话:
一个docker stats查看cpu使用情况,一个top查看进程情况


原文地址:https://blog.csdn.net/m0_65016941/article/details/140615792

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!