网站首页 > java教程 正文
项目在功能开发差不多的时候,常常需要关注系统的性能指标,需要对服务进行性能压测。系统在性能压测过程中,需要关注被压测服务器的cpu、内存、磁盘、网络等指标参数的浮动来衡量压测服务器的能力。我们可以通过在jmeter客户端集成jmeter-plugins-manager插件,在服务端部署插件serverAgent来实时监控被压测服务器的性能。
1、官网下载最新版jmeter
下载地址:https://jmeter.apache.org/download_jmeter.cgi,jmeter依赖于Java环境运行,所以需要先安装jdk(看下载页面可以看出下载的5.4.1版本需要对应Java 8以上)。
2、Jmeter插件Jmeter-plugins-manager下载
下载地址:https://jmeter-plugins.org/install/Install,apache-jmeter压缩包不自带Jmeter插件Jmeter-plugins-manager,需要自行下载安装。
3、将下载好的Jmeter-plugins-manager jar包放在jmeter包下的lib\ext文件夹下
4、在jmeter中添加插件引用
ApacheJMeter.jar启动jmeter
添加插件Apache JMeter-->options-->Plugins Manager
不习惯英文目录的,可以切换到中文目录下Options->Choose language->Chinese(simplified)
5、勾选上PerfMon(Servers Performance Monitoring)选项,点击右下角的Apply Changes and Restart JMeter按钮应用
6、下载服务端监控程序ServerAgent
对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察,可以实时监控性能指标。
插件我已上传,不需要积分直接下载,下载地址:https://download.csdn.net/download/u012082876/16570940
7、linux服务器上启动服务端监控程序ServerAgent
(1)在linux任意目录下创建一个文件夹,使用rz命令把ServerAgent-2.2.1.zip上传上去
(2)解压 命令 unzip ServerAgent-2.2.1.zip
(3)解压完成后,使用./startAgent.sh 启动(默认端口4444),也可以使用命令指定端口启动(例如将指定TCP为7081,UDP指定为7082):
./startAgent.sh --tcp-port 7081 --udp-port 7082 --sysinfo
建议将此脚本写成shell脚本,授权chmod -R 777 XXX 之后下次直接启动脚本程序。
chmod 命令普及:
文件或目录的权限又分为3种:只读、只写、可执行。
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了chmod 777 filename命令的含义了。
常用 chmod -R 777 filename 其中 -R 表示:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
注意事项:
① 测试本机是否能ping同被压测服务器
② 测试本机是否能连通被压测服务器对应的端口号,也就是说被压测服务器的该端口号需要对外开放(示例我使用的压测端口是7081)
③ 一旦连通,进入输入命令界面,输入的命令在被压测服务器也能看到,输入1212
8、添加一个线程,再添加取样器-->HTTP请求,同时可以在监听器中添加汇总图、聚合报告、汇总报告、查看结果树等来查看压测之后的结果
9、jmeter中使用perfMon监听器步骤
(1)右键选择监听器里面的jp@gc - PerfMon Metrics Collector
(2)点击AddRow,然后在host的地方添加需要监控的服务器的主机域名或者IP,port填写端口,Metric to collect下拉选择监控的指标(CPU、Memory、Swap、Disks I/O、Network I/O等)。
(3)服务端启动监控程序ServerAgent,客户端开始压测,就可以查看服务器的cpu等各项指标的曲线了
压测性能指标趋势图:
各项指标的单位参差不齐,可以单独勾选某项指标查看
压测数据汇总:
猜你喜欢
- 2024-12-03 从Java转储分析来改进Java应用程序的性能(上)
- 2024-12-03 JVM工具实战:线上问题排查与性能分析
- 2024-12-03 基于容器的Java内存参数解析
- 2024-12-03 6 个 Java 工具,轻松分析定位 JVM 问题
- 2024-12-03 生产环境Java应用服务内存泄漏分析与解决
- 2024-12-03 Java性能测试利器:JMH入门与实践|得物技术
- 2024-12-03 Java中的CPU占用高和内存占用高的问题排查
- 2024-12-03 阿里巴巴Java性能调优实战:内存持续上升,我该如何排查问题?
- 2024-12-03 阿里三面必问JVM知识点- 使用堆外内存减少Full GC
- 2024-12-03 程序员必备-推荐一款强大的JVM分析工具
你 发表评论:
欢迎- 最近发表
-
- JAVA面试|为什么Spring Boot的jar可以直接运行?
- 什么情况,今年面试都不问八股文了??准备了几个月,结果一个都不问。。
- LangChain系列之如何使用LangChain4j构建RAG应用(1)
- JAVA入门教程-第2章 基本编程概念
- FTPC Pnuts语言(ftp mput put)
- 这9个工具库让我的Java开发效率提升了80%
- VS2022配置x86/x64调用32位和64位汇编语言动态库环境
- 别再裸写 parseFrom() 了!这才是 MQTT + Protobuf 消费的正确姿势
- aardio + Java + JavaScript 混合开发快速入门
- 铁打的程序,流水的语言,2018年JAVA编程还想坚挺500年?
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)