性能测试-JMeter安装环境及运行原理-创新互联
JMeter环境需求
JMeter是纯Java应用程序,因此有Java运行环境的要求。不同版本
专注于为中小企业提供成都做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业高平免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。JMeter对Java版本的要求不尽相同。比如:
JMeter3.3仅支持Java 8
JMeter4.0要求Java 8+(表示大于等于Java 8版本)
JMeter5.1.1要求Java 8+
Java版本一般指的是JDK版本,这两个概念可以无差别对待。目前JDK
可以分为Oracle JDK与Open JDK两类,其中Open JDK是Oracle
JDK的开源免费版。
从2019年1月开始,LTS的Oracle JDK8与Oracle JDK11不再免费,企业需要获取JDK的更新升级,则需要购买Orace的订阅服务。也可以不付费而使用免费的Open JDK 8/11,两者没有太大的区别。
JMeter运行原理
JMeter以创建多个线程的方式来模拟多个用户执行操作,一个线程代表一个虚拟用户。当JMeter执行测试时,测试计划会发送到负载机,并向负载机发送命令以CLI方式执行测试,产生多个线程向被测系统发送请求,生成负载。
基于操作方式,可以分为两种:
GUI模式
图形用户界面运行模式。可视化显示更加直观,可使用鼠标操作更为方便。
CLI模式
命令行模式(旧称NON GUI)。
使用GUI模式存在如下问题:
1)GUI模式运行时会消耗大量的系统资源,从而影响测试结果;
2)某些环境中可能无法使用GUI模式,比如将JMeter部署在没有GUI的Linux系统上。
为了规避这些问题,JMeter提供了CLI模式,可以通过运行JMeter命令来执行测试。
建议使用GUI模式来创建和调试测试脚本;使用CLI模式执行测试并收集测试结果。
基于运行架构,可以分为两种:
单机模式
JMeter安装在一台服务器上,这台机器也是负载机,所有请求都从该机器发出
分布式模式
单机模式存在如下问题:
1)JMeter运行时,产生的众多线程会消耗大量的CPU,内存资源,负载机本身可能成为测试瓶颈;
2)网络上能传输的数据量受网络带宽影响,无法做到高并发,导致测试结果不准确。
使用分布式模式可以解决这些问题,使用一台Master控制多台远程Slave,将测试计划分发到不同的Slave上执行,请求从不同的Slave发出。
分布式运行原理
JMeter分布式体系结构
JMeter分布式执行测试过程
1.首先启动每台Slave上的Agent程序
Windows: jmeter-server.bat,Linux/Unix: jmeterserver;
2.启动Master后自动连接各台远程Slave;
3.Master将存储在本地的测试计划(jmx文件)分发到各台远程Slave,并命令各Slave以CLI模式执行JMeter测试;
注意:参数化文件或依赖包需要手工拷贝到各台远程Slave上;
4.Slave执行测试向SUT(被测系统)发送请求,并接受服务器返回的响应结果;
5.Slave将测试结果回送给Master;
6.Master接收并汇总统计测试结果。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:性能测试-JMeter安装环境及运行原理-创新互联
转载注明:http://scyanting.com/article/dihhse.html