Jmeter压测环境准备
Jmeter性能监控
- 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standard-1.1.3.zip、ServerAgent-2.2.1.zip
- Standard的zip包解压缩之后,将JMeterPlugins- Standard.jar 放在XXX\Apache\jmeter\lib\ext下,重启jmeter就可以看到在 线程组右键的监听器中可以看到增加了很多内容,在现有的项目中增加jp@gc - PerfMon Metrics Collector,作为监控服务器端的数据。
- 增加了jp@gc - PerfMon Metrics Collector之后,在其中Add Row,增加需要监控的数据信息,比如Cpu,Memory,Disks/IO,TCP等之类的信息,端口默认为4444。
- 服务器端配置,解压缩ServerAgent.zip包,放到服务器上:
- Linux:CD命令到该文件夹下,输入命令./XXXXXX /startAgent.sh。注意,如果客户端配置的不是4444端口,则需要启动客户端设置的端口,命令为./startAgent.sh --udp-port 0 --tcp-port Xxxx,当然Xxxx为设定好的端口号。
- Windows:,双击startAgent.bat即可,启动的是默认端口4444.
5. 在测试机器上,点击启动就可以开始接口的测试和压力测试工作了,在选择的jp@gc - PerfMon Metrics Collector可以看到来自服务器的性能信息。
Jmeter分布式部署
使用多台机器产生负载的操作步骤如下:
- 在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。
- 在controller机器的jmeter的%JMeter_home%/bin目录下,找到jmeter.properties 文件,编辑该文件:
查找:remote_hosts=127.0.0.1,修改为:remote_hosts=10.8.39.114:1099,10.8.33.181:1099,localhost:1099
这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。
3. 运行所有 agent 机器上的jmeter-server 文件
4. 启动controller 机子上的jmeter应用jmeter.bat,选择菜单“Run”--->“Remote Start”(“运行”--->“远程启动”),来分别启动agent ,也可以直接选择“Remote Start All”(“远程全部启动”)来将所有的agent启动。当
远程访问时,会看到控制台上打印出一行:Starting the test on host [ip]:1099 @....,远程执行结束,会打印一行:Finished the test on host [ip]:1099 @...。
需要注意的点:
1)Jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置,不是均分线程组中的配置,每个Agent所单独测试的线程数都是你在Controller上配置的线程数,也就是说我在controller上的线程数为100,立即
执行,循环一次,那么我的部署就会有同事触发300(100X3)的线程数,立即执行,执行一次。而不是三台机器共同分担100个线程。
2)在contrller机器上想要运行agent的时候,需要先执行jmeter-server 文件,再执行jmeter.bat
3)配置的时候保证机器的防火墙都处于关闭状态。
参考资料:
性能监控插件:
http://www.tuicool.com/articles/RbAN3ea
性能监控介绍:
http://blog.csdn.net/defonds/article/details/41650813
Jmeter压测环境准备的更多相关文章
- 在Linux CentOS上搭建Jmeter压测环境
本文的主要内容是介绍如何在Linux CentOS 服务器上面搭建Jmeter的压测环境整个详细的流程,来满足我们日常工作中对于压力测试环境搭建.压力测试执行过程的需求. 一.首先我们要准备四个东西, ...
- jmeter压测学习1-window环境准备与案例
前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketExcep ...
- JMeter压测基础(三)——Mysql数据库
JMeter压测基础(三)——Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.ja ...
- jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...
- windows下Jmeter压测端口占用问题(亲测有效)
windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPT ...
- jmeter压测、操作数据库、分布式、 linux下运行的简单介绍
一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...
- windows下Jmeter压测端口占用问题
https://blog.csdn.net/weixin_43757847/article/details/88188091 1 前情提要人脸识别项目中,云平台新增了人脸识别的校验接口.考虑到存在大量 ...
- 一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本
接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本, ...
- 【Java分享客栈】未来迈向高级工程师绕不过的技能:JMeter压测
前言 因为工作需要,久违的从自己的有道云笔记中去寻找压测相关的内容,翻开之后发现还不错,温故一遍后顺便整理出来分享给大家. 题外话,工作8年多,有道云笔记不知不觉都6G多了,扫一眼下来尽是云烟过往,竟 ...
随机推荐
- Unable to execute dex: GC overhead limit exceeded
Android打包时下面的错误: Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded 解决的方法: ...
- Custom work flow
http://runjs.cn/detail/99epj1t2 http://www.cqroad.cn/ https://jsplumbtoolkit.com/demo/flowchart/dom. ...
- if语句的一个小技巧
也就是说选中类型的时候边框属性的选择项是不能选择的一般用if else 在类型的CHANGE方法中,现在一句话就能搞定看代码 private void m_rdbtnProID2_CheckedCha ...
- PRINCE2项目管理七大流程之指导流程
PRINCE2项目管理七大流程之指导流程 今天学习七大流程之二--项目指导流程 项目指导流程的目的就是使项目管理委员会能够对项目的成功负责,具体来说,是由项目管理委员会作出关键决策,并进行总体控制 ...
- CURL命令详解
curl命令是一个强大的网络工具,它能通过http,ftp等方式下载.上传文件.其中curl远不止这些功能,大家可以通过阅读手册获取更多的信息,类似的工具还有wget. curl命令使用了libcur ...
- C语言-《通讯录》
黑白的通讯录 --1-- 需求分析 1.1 需求 1.2 原型展示 1.3 功能分析 --2-- 代码实现 2.1 外部声明.变量.宏 2.2 模块实现 ----------------------- ...
- 华为5700s配置链路聚合
/创建聚合链路,数值可以随意. port link-type trunk /设置成trunk模式.(如果是接入vlan的话,link-type acess) port trunk allow-pass ...
- 使用Python调用Flickr API抓取图片数据
Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...
- finish()在dialog中的作用
finish()在dialog中销毁的是dialog所在的活动:
- GUI 下
11.6 Swing组件 JButton JLabel JTextField JTextArea JTable JTree publicclass JTableDemo extends JFrame ...