注意这几个策略是要做压测的类型,基本工作中性能测试都要做,基本测试报告中都要有体现,
基准测试提供基础 测试依据;
负载测试测试不同负载下的压力标准;
稳定性测试 测试8小时以上的系统稳定性;
压力测试 测试高压下的稳定性;
并发测试 测试是否能经受住高并发;
狭义上讲:就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。
广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立一个已知的性能
基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能够承受的最大负载量的测试。
服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试
(1天-1周等),并最终保证服务器能满足线上业务需求。
·其他:并发测试、压力测试等
在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力和可恢复能力。
✓ 极限负载情况下导致系统崩溃的破坏性压力测试
✓ 高负载下的长时间的稳定性压力测试
并发测试(绝对并发):是指在极短的时间内,发送多个请求,来验证
服务器对井发的处理能力。
响应时问:指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。
并发(用户)数:某一时刻同时向服务器发送请求的用户数。
吞吐量 (Througbput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。
QPS (Query Per second)每秒查询数:即控制服务器每秒处理的指定
请求的数量
TPS (Transactions Per second) 每秒事务数:即控制服务器每秒
处理的事务请求的数量
• 点击数
• 错误率
• 资源利用率
根据经验,资源指标通常要求:
(1) CPU不高于75-85
(2) 内存不高于80
(3)磁盛工O不高子90
(4)网络不高于80
工具
. Loadrunner
• JMeter
取样器
逻辑控制器
前罝处理器
后罝处理器
断言
定时器
测试片段
配置元件
监听器
jmeter分布式原理是一台主机下配置多台代理机;通过代理进行测试并将测试结果交给主机进行分析处理。
具体代理机和主机的配置如下图
配置完成后需要在代理机上启动jmeter-server;然后在主机上发起。
jmeter可以通过命令行方式调用,这样生成报告比较方便,就在报告这里简单说下jmeter的命令行参数。
jmeter -n -t 脚本名.jmx -l test.txt -e -o ./outHtml
上面实例是运行测试脚本并测试完成后解析并生成报告
当然也可以执行不生成报告而需要时再根据日志文件生成报告命令如下:
jmeter -g test.txt -o ./httpOut
特别注意**:
jmeter是要配置环境变量的,不配置的话上述命令中jmeter前面要加上jmeter的路径,就是jmeter的解压路径下bin的下面。
常用如下插件
PerfMon可以用来监控测试机器的各项指标非常好用。总结下perfMon的使用下面:
非常简单就是你得在被监控的机器上启动代理啊,代理包就是ServerAgent这个包。启动下就可以。
性能测试怎么来决定需要多少机器多少负载呢,这个一个是取决于机器本身的性能,然后就是基于生产上的数据来估量计算了;基本计算方式如下。
一般情况下能满足需求的tps计算公式:
计算tps = 总请求数 / 总时间
但是应用中不会有那么稳定的数据,工作中我们都会应用二八原则,既百分之八十的业务都发生在百分之二十的时间。所以公式如下。
计算tps = (总请求数 * 80%) / (总时间 * 20%)