| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程) -> 正文阅读 |
|
[开发测试]JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程) |
1.简介千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了,实在是忍不了也解答烦了,索性就在这里分享一下吧。权当参考,但是希望对大家有所帮助。 2.为什么要使用分布式测试(1)Jmeter是基于java程序运行的,在windows上使用Jmeter进行性能测试时,非常耗费客户机的CPU和内存,如果并发数稍微大一点(比如100、1000...并发),单台电脑的配置经常无法支持,很容易卡死,即使不卡死也会使电脑运行很慢,导致我们没办法进行其它操作。 普通压测:单台机可以对目标机器产生的压力比较小,受限因素包括CPU,网络,IO等。 3.分布式压测的原理1、分布式测试中,选择一台作为管理机(Contorller),其他的机器作为测试执行的代理机(Agent); 2、执行测试时,由Contorller通过命令行将测试脚本发给Agent,然后Agent执行测试(不需要启动GUI),同时将测试结果发送给Contorller; 3、测试完成,可以在Contorller上的监听器里面看到Agent发来的测试结果,结果为多个Agent测试结果汇总而成; 4.开始前的准备工作本简短教程说明了如何使用多个系统执行压力测试。在我们开始之前,有几件事要检查。
一旦确定系统已准备就绪,就可以进行远程测试了。本教程假定您已经在所有系统上安装了JMeter。JMeter的工作方式是一个控制器节点在多个工作节点上启动测试。 在本教程中,我们仅使用GUI模式进行演示。在现实生活中,您应该使用CLI模式(NON GUI)来开始负载测试 一个控制器节点和多个工作节点 在深入了解分步说明之前,最好先定义术语并确保定义清楚。 控制器节点:运行JMeter GUI(控制测试)的系统 工作节点:运行jmeter-server的系统,该系统从GUI接收命令并将请求发送到目标系统 目标:我们计划进行压力测试的Web服务器 5.普通压测普通压测:单台机可以对目标机器产生的压力比较小,受限因素包括CPU,网络,IO等。下边是简单用图形描述了一下普通压测。如下图所示:? Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834? 6.Jmeter分布式压测介绍在工作中使用jmeter做大并发压力测试的场景下,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,但是压测服务器已经由于模拟的压力太大死机了。为了让jmeter工具提供更强大的负载能力,jmeter提供了多台机器同时产生负载的机制,下面是架构图。 ? 原理:比如我在jmeter server配置线程数为10,循环次数为100,也就是会对测试服务器发起1000次请求,我有3台agent服务器,如果我在server端选择远程启动压力测试,那么每台agent都会对测试服务器发起10*100次请求,那么这次压力测试产生的请求就是10*100*3=3000次。 如果对原理不是很明白,看完下面的操作之后就会理解了。 6.1JMeter分布式执行原理说明 前提:在调度机上安装JDK(我们这里使用1.8版本的)+Jmeter(5.3) 1、客户端机器(window系统)作为一个控制器controller,控制多台slave机器的操作。 7.Jmeter分布式压测环境搭建7.1搭建前说明 服务器环境说明:做性能测试可以直接在在云平台按需购买压力机,一旦测试结束释放压力机即可。当然了这是个视公司资源和公司情况而定,如确实需要提前报备和领导申请经费或者设备、时间等等。 分布式环境压力服务器要求:
7.2windows下配置 1、在Windows系统上安装相同版本的JDk和Jmeter(参考调度机的安装) 注意:JDK和Jmeter都要配置环境变量 Jmeter 环境变量的配置: 在系统环境变量中添加:JMETER_HOME=C:\jmeter\apache-jmeter-3.3\bin 在path系统变量中添加如下配置:%JMETER_HOME%\bin; 7.2.1调度机Controller 1.在多台机器中按照上述步骤配置jmeter,选择其中一台为调度机,其他为执行机。这里将自己的本地电脑作为调度机。 2.在调度机上修改JMETER_HOME/ remote_hosts=192.168.174.130:1000,192.168.3.148:1888 代码中 ,? 3.取消 server.rmi.ssl.disable=true 4.开启执行脚本机器上的 5.在控制机执行分布式命令 #使用 -r 启动所有从机执行脚本 jmeter -n -t testplan/comic.jmx -r -l testResult/result1.jtl #指定从机IP jmeter -n -t testplan/comic.jmx -R 10.15.243.53,10.15.230.78 -l testResult/result1.jtl 7.2.2执行机Agent 1、和调度机同样的原理,找到对应的代码修改 server_port=1000 server.rmi.localport=1000 server.rmi.ssl.disable=true 2、在执行机上自定义端口号 (1)进入Jmeter的bin目录,找到Jmeter.properties文件,打开该文件修改如下两个配置项,比如修改端口号为:1355(默认端口号为:1099)(记得取消注释) server_port=1355 server.rmi.localport=1355 server.rmi.ssl.disable=true (2)启动执行机上的Jmeter-server.bat,如下图所示,端口号已经修改为:1000.这里是修改成1000。 3、在调度机上添加远程的负载机 进入Jmeter的bin目录,找到Jmeter.properties文件,进行如下配置: 4、在调度机上打开,Jmeter,如下图即可启动远程的负载机 ? 5、验证:启动后如果运行正常,在调度机上可以看到远端负载机的执行结果,如下图: ? Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834 ? ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:35:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |