目录
3.2.1 JForum环境配置 (配置在tomcat中),启动Tomcat
3.2.2 编写JMeter脚本 (脚本的编写和运行,在win10端)
3.2.3 运行jmx脚本(win10中),持续访问CentOS7中的Jforum页面
3.2.4 在CentOS7中,通过top命令查看堆具体情况,找出占用CPU高的线程的PID
3.2.5根据上面获取的PID,使用命令 jstat 查看堆内存整体使用情况
3.2.6 通过上面获取的PID, 使用命令 jmap 查看堆内存使用详情
3.2.7 使用命令生成.dump文件: jmap -dump:format=b,file=${fileName}.dump $pid
3.2.8 将.dump文件从CentOS7系统中拷贝到win10系统,可用WinSCP
1. 要求
通过JMeter脚本,压测JForum,进行CPU和内存诊断
2. 处理思路
2.1 JForum环境配置 (配置在tomcat中)
(1)下载classes.7z,将解压出来的classes文件替换原来老的classes.
路径为: ${TOMCAT_HOME}\webapps\jforum-1.1.9\WEB-INF\classes
(3)启动Tomcat
2.2 编写并执行JMeter脚本:脚本要求:访问随机板块 和 最新主题, 3个并发线程
2.3 jmap生成.dump文件
2.4 在MAT中打开.dump文件,解析并定位问题
3. 示例演示 (CentOS7 环境中)
3.1 环境工具:
(1)CentOS7
(2)apache-tomcat-7.0.86 (内置Jforum)
(3)jforum-2.1.9 (已导入相关数据库sql文件,将配置在tomcat中)
(4)classes.7z (提前准备好的文件,将替换jforum目录下原始的class)
(5)JMeter (用来生成执行访问Jforum页面的脚本)
(6)mat (MemoryAnalyzer.exe,用来打开dump文件)
3.2 操作步骤
3.2.1 JForum环境配置 (配置在tomcat中),启动Tomcat
(1)准备好apache-tomcat-7.0.86,解压即可(可mv改名),放到CentOS7的/usr目录下
(2)将jforum-2.1.9(已导入并配置好相关的sql数据库文件),拷贝到tomcat目录下
(3)下载classes.7z (提前准备好的),将解压出来的classes文件替换原来老的classes.
路径为: ${TOMCAT_HOME}\webapps\jforum-1.1.9\WEB-INF\classes
(4)启动Tomcat
(5)在浏览器端打开Jforum相关页面,验证网页是否可以顺利访问
3.2.2 编写JMeter脚本 (脚本的编写和运行,在win10端)
脚本要求:访问随机板块 和 最新主题, 3个并发线程
(1)启动JMeter
(2)编写JMeter脚本:访问随机板块 和 最新主题, 3个并发线程
3.2.3 运行jmx脚本(win10中),持续访问CentOS7中的Jforum页面
3.2.4 在CentOS7中,通过top命令查看堆具体情况,找出占用CPU高的线程的PID
这里,占用CPU高的线程,其实就是我们前面JMeter脚本持续访问Jforum页面导致的
3.2.5根据上面获取的PID,使用命令 jstat 查看堆内存整体使用情况
3.2.6 通过上面获取的PID, 使用命令 jmap 查看堆内存使用详情
3.2.7 使用命令生成.dump文件: jmap -dump:format=b,file=${fileName}.dump $pid
如下,生成14778.dump文件
3.2.8 将.dump文件从CentOS7系统中拷贝到win10系统,可用WinSCP
图略