Linux服务器环境部署与JMeter压测准备
一、在Linux后台运行Java应用程序
1. 问题背景 在Linux终端直接运行Java程序(如java -jar pinter.jar)会占用当前终端(前台运行),且终端关闭后程序会终止。
2. 解决方案:使用nohup命令
-
命令格式:
nohup <command> &-
nohup:使进程忽略挂起(HUP)信号,即终端关闭时进程不会终止。 -
&:将进程放入后台运行。
-
-
示例:启动Spring Boot应用
nohup java -jar pinter.jar &-
执行后按一次回车,返回进程ID(PID),并提示"nohup: ignoring input and appending output to 'nohup.out'"。
-
注意 :程序输出的日志默认会重定向到当前目录下的
nohup.out文件中。
-
3. 验证进程是否运行
-
查看进程 :使用
ps命令配合grep过滤。ps -ef | grep pinter- 会显示包含
pinter的进程信息,包括PID。
- 会显示包含
-
停止进程 :使用
kill命令。kill -9 <PID>
4. 防火墙配置(确保应用可访问)
-
临时关闭防火墙(重启后失效):
systemctl stop firewalld -
永久禁用防火墙:
systemctl disable firewalld -
检查防火墙状态:
systemctl status firewalld
二、在Linux上部署JMeter
1. 上传JMeter压缩包
- 使用FTP/SFTP工具(如Xftp)将JMeter的ZIP包上传到Linux服务器,例如上传到
/home/tools/目录。
2. 安装解压工具(如未安装)
-
使用
yum安装unzip:yum install -y unzip-y:自动确认安装。
3. 解压JMeter
-
进入上传目录并解压:
cd /home/tools unzip apache-jmeter-5.5.zip
4. 配置JMeter环境变量
-
编辑环境变量配置文件:
vi /etc/profile -
在文件末尾添加(请根据实际路径修改):
export JMETER_HOME=/home/tools/apache-jmeter-5.5 export PATH=$JMETER_HOME/bin:$PATH -
使配置生效:
source /etc/profile -
验证安装:
jmeter -v- 输出JMeter版本信息即表示成功。
三、相关Linux命令总结
| 命令 | 说明 | 示例 |
|---|---|---|
cd |
切换目录。直接输入cd回车会回到当前用户的家目录(如/root)。 |
cd /home/tools |
pwd |
显示当前工作目录的绝对路径。 | pwd |
ll 或 ls -l |
列出当前目录下的文件和目录的详细信息。 | ll |
mkdir |
创建新目录。 | mkdir tools |
tar |
解压.tar或.tar.gz文件。 | tar -xzvf jdk-8u381-linux-x64.tar.gz |
unzip |
解压.zip文件。 | unzip apache-jmeter-5.5.zip |
ps -ef |
显示所有进程的详细信息。 | ps -ef | grep java |
nohup |
使进程在后台运行,且终端关闭后不终止。 | nohup java -jar app.jar & |
systemctl |
管理系统服务(如防火墙)。 | systemctl stop firewalld |
yum install |
安装软件包。 | yum install -y unzip |
四、后续压测步骤
-
确保被测应用运行 :使用
nohup启动Spring Boot应用,并关闭防火墙确保可访问。 -
上传JMeter测试脚本 :将本地编写好的
.jmx脚本上传到Linux服务器的某个目录。 -
执行命令行压测:使用JMeter的CLI模式运行测试,例如:
jmeter -n -t /home/tools/test.jmx -l /home/tools/result.jtl -e -o /home/tools/report -
监控服务器资源 :压测过程中可使用
top、vmstat等命令监控服务器状态。 -
分析结果 :使用JMeter生成HTML报告,或下载
.jtl结果文件到本地用GUI模式查看。
注意:在Linux服务器上进行压测时,应确保压力机(运行JMeter的机器)本身的资源(CPU、内存、网络)充足,且最好与被测应用服务器分离,以避免资源竞争影响测试结果。