大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务6中需要使用的JMeter的简单操作
1.背景介绍
JMeter是什么
Apache JMeter是Apache组织开发的基于Java的压力测试工具。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
做压力测试一般要使用工具,人工是没办法做的。最常用的工具是LoadRunner, 但是LoadRunner毕竟是收费软件,而且使用上也比较复杂。 现在越来越多的人开始使用Jmeter来做压力测试。因其免费,而且使用上非常简单。
2.知识剖析
1.常见字段:
吞吐量:是指在一次性能测试过程中网络上传输的数据量的总和,吞吐量指标反映的是服务器承受的压力
>影响参数:TPS、并发数、响应时间
TPS(Transaction Per second):每秒钟系统处理的事务数量,它是衡量系统处理能力的重要指标
并发数:系统同时处理request/事务数
2. JMeter主要组件介绍
1.测试计划(Test Plan):是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
2.线程组(Thread Group):代表一定数量的并发用户,它可以用来模拟并发用户发送请求。
3.取样器(sampler):定义实际的请求内容,被线程组包含,我们主要用HTTP请求。
4.监听器(Listener):负责收集测试结果,同时也被告知了结果显示的方式
5.逻辑控制器(Logic Controller):逻辑控制器让您自定义JMeter决定要发送请求时的逻辑。逻辑控制器可以改变来自子元素的请求顺序
6.断言(Assertions):可以用来判断请求响应的结果是否如用户所期望的
7.配置元件(Config Element):维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容
8.定时器(Timer):定时器(Timer)负责定义请求之间的延迟间隔。
3.常见问题
1、JMeter为什么要添加插件?
2、JMeter怎么添加插件?
3、什么是压测?
4.解决方案
回答一:JMeter 以其开源、轻巧、灵活、扩展性高等特性赢得了广大测试从业人员的青睐,但是它没有像 LoadRunner 那样提供一个 TPS、TRT 之类的视图,虽然聚合报告也能说明一些整体以及实时的问题,但是就整体趋势、实时平均值走向、稳定性报告方面就无能无力了
回答二:加插件的jar包到lib和lib/ext目录后重启JMeter,在option菜单的选项插件管理器中添加插件。
回答三:力测试(Stress Test),也称为强度测试、负载测试。
压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。想·
5.编码实战
6.扩展思考
思考一:为什么要压测?
思考二:怎样进行压测?
思考三:压力测试和性能测试的区别?
回答一:定位性能瓶颈,预估系统的承载能力,为项目改进和优化提供参考数据,通俗地讲,压力测试是为了发现在什么条件下你的应用程序的性能会变得不可接受。
回答二:使用压测软件,或者编写脚本等等
如果应用了多个视图解析器策略,那么就必须通过“order”属性来声明优先级,order值越低,则优先级越高
回答三:
压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。
性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。
7.参考文献
https://www.cnblogs.com/wangtao_20/archive/2014/04/04/3645690.html
http://blog.csdn.net/defonds/article/details/54576604
8.更多讨论
今天的分享就到这里啦,欢迎大家提问和探讨!