Linux服务器环境部署与JMeter压测准备

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

四、后续压测步骤

  1. 确保被测应用运行 :使用nohup启动Spring Boot应用,并关闭防火墙确保可访问。

  2. 上传JMeter测试脚本 :将本地编写好的.jmx脚本上传到Linux服务器的某个目录。

  3. 执行命令行压测:使用JMeter的CLI模式运行测试,例如:

    复制代码
    jmeter -n -t /home/tools/test.jmx -l /home/tools/result.jtl -e -o /home/tools/report
  4. 监控服务器资源 :压测过程中可使用top、vmstat等命令监控服务器状态。

  5. 分析结果 :使用JMeter生成HTML报告,或下载.jtl结果文件到本地用GUI模式查看。

注意:在Linux服务器上进行压测时,应确保压力机(运行JMeter的机器)本身的资源(CPU、内存、网络)充足,且最好与被测应用服务器分离,以避免资源竞争影响测试结果。

相关推荐
微软技术分享9 分钟前
NexShell 1.0|大模型驱动的智能 SSH 运维终端,永久免费,赋能 Linux 服务器管理
运维·服务器·ssh
坤坤子吖18 分钟前
Linux 线程概念与控制——线程创建、退出与等待
linux·开发语言·c++·笔记·学习
Chenyu_31038 分钟前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
小白的码BUG之路9 小时前
linux -- ssh两台机器相连
运维·服务器·ssh
缓慢更新10 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
续写烂尾11 小时前
贴片 SD NAND、eMMC、TF 卡规格怎么定?硬件工程师选型清单
运维·服务器·网络
不昀11 小时前
网口Link Up后仍然掉线,怎样区分物理链路和数据通路问题?
linux·以太网
科技小E11 小时前
监控设备品牌杂乱无法互通?EasyGBS打通孤岛,统一汇聚视频
服务器·网络·音视频
Lhan.zzZ11 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
Fcy64813 小时前
Linux下 多路转接select详解
linux·select·多路转接