- 62
- 0
- 约1.82千字
- 约 10页
- 2019-11-18 发布于广东
- 举报
jmeter性能测试分享;1. Jmeter简介
Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter开源轻量,逐渐成为了主流的性能测试工具。更多性能测试相关可参看JMeter官网用户手册:/usermanual/best-practices.html例如用户手册中标明:压测时须使用非GUI模式,以避免资源浪费,导致压测数据不准确(GUI模式只适用于调试)。如下图已列出减少资源使用的建议:;2. 压测前期准备 (1)确定压测场景 压力测试分两种场景:一种是单???景,压单个接口;第二种是混合场景,压多个有关联的接口。(本次压测场景为单场景) (2)确定压测任务需求
压测前要明确压测功能和压测指标,一般需要确定以下几个问题:
1、要求支持多少并发数?
2、TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?
3、测试环境与正式环境的服务器配置等是否一致?(不一致会导致较大误差) (3)测试数据准备:例如token、验证码、CSV文件等;3. 压测设置 3.1线程组设置 (1)线程数:并发数量,即一次存在多少用户同时访问。
(2)Rame-Up Period(in seconds):表示并发准备时长,设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10s,那么需要10s启动20个线程,也就是每秒钟启动2个线程。(若保持默认值1s内启动全部线程,可能会导致堵塞)
(3)循环次数:不会改变并发数,总请求数=线程数*循环次数。(本次压测采取固定总请求数,改变线程数和循环次数);3.2接口设置(1)参数化:通过CSV文件等形式参数化。(2)响应断言:用于判断响应数据中是否返回正确的值。(3)断言持续时间:用于判断响应时间是否在断言时间内。;4. 运行(非GUI模式)执行:sh jmeter -n -t [jmx file] -l [results file];5. 查看压测结果 运行后,在“聚合报告”和“察看结果树”浏览测试结果文件,主要观察Samples、Average、error、Throughput。
1、Samples:表示一共发出的请求数。
2、Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)。
3、Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因。
4、Throughput:简称TPS(吞吐量),默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好。;6. 压测结果分析 1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;例如服务器端连接超时、500报错等,或者程序报错等。
2、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析。(或监听服务器CPU、内存等)
3、最大的TPS:不断的增加并发数,加到TPS达到一定值开始出现下降,那么那个值就是最大的TPS。
4、压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。
5、影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx、Redis)、网络和操作系统等方面。 6、测试报告:日子里公众号的测试报告地址如下 /drive/folders/19b_pnhnfvHUf872EmiHrESgtj5Y5GjUp;7. 监听服务器CPU/内存等(1)可直观看到压测过程中服务器CPU/内存等资源的使用情况。(2)结果分析: a.如果内存占有率越来越高,则存在内存泄露; b.若服务器线程被大量占用而得不到释放,导致后续的用户请求无法处理,说明存在缺陷。
;谢谢
原创力文档

文档评论(0)