当前位置: 首页 > 测试知识 > 在Linux环境中部署和运行LoadRunner Vuser脚本
在Linux环境中部署和运行LoadRunner Vuser脚本
2025-12-26 作者cwb 浏览次数40

在Linux环境中部署和运行LoadRunner Vuser脚本,是创建分布式、大规模性能测试负载的重要步骤。一般指将Linux服务器配置为Load Generator(负载生成器)执行Vuser脚本,而由Windows环境的Controller(控制台) 进行集中调度和监控。


Linux(以主流的RHEL/CentOS为例)上专业部署和运行Vuser脚本:


一、架构和角色

先确定一个重点概念:LoadRunner的完整环境是跨平台的。在典型的企业级部署中:

Controller:一般运行在Windows系统上,负责设计测试情形、调度和监控。

Load Generator:可以部署在Windows或Linux上,负责接收Controller指令,真实地执行Vuser脚本,生成并发负载。

Agent Process (magentproc): 在负载生成器上运行的守护进程,负责和Controller通信并管理本地Vuser进程。

因此在Linux上的部署,实质上是配置为一台高性能的负载生成器。


二、系统和环境

在安装前,必须保证Linux环境满足要求。


系统要求:

操作系统:官方支持Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Oracle Linux等主流发行版。请核对LoadRunner版本对应的具体OS版本。

硬件:充足的CPU、内存和网络带宽。建议SSD硬盘以支持高频率的Vuser启动和日志写入。

用户权限:必须使用具有root权限的用户进行安装和重点配置。


依赖库安装:

LoadRunner的Linux组件依赖特定的系统库。在安装前,请必须安装以下基础包:


bash

# 对于根据RHEL/CentOS的系统

yum install -y glibc.i686 libstdc++.i686 compat-libstdc++-33 ncurses-libs.i686 libgcc.i686

# 对于根据Debian/Ubuntu的系统(需确定官方支持)

# apt-get install -y lib32stdc++6 lib32z1 lib32ncurses5


网络和防火墙:

主机名分析:保证Controller所在的Windows主机和Linux负载机可以通过主机名相互分析(建议在/etc/hosts和Windows的C:\Windows\System32\drivers\etc\hosts文件中互相添加IP和主机名映射)。

防火墙:必须开放LoadRunner使用的端口。默认主要端口是50500(Controller和Load Generator通信),以及可能的54345等。临时关闭防火墙或添加规则:


bash

# 查看防火墙状态(如firewalld)

systemctl status firewalld

# 临时开放50500端口(生产环境建议使用永久规则和精确源IP限制)

firewall-cmd --add-port=50500/tcp --zone=public --permanent

firewall-cmd --reload


三、安装和配置LoadRunner负载生成器组件


获取安装包:

从Micro Focus官方渠道获取LoadRunner安装包。Linux组件一般包含在完整安装镜像中或作为独立包(如 LoadRunner_<version>_Additional_Components.tar.gz)。


执行安装:

将安装包上传至Linux服务器并解压。

进入解压目录,以root身份运行安装脚本。安装程序一般是命令行或简易GUI。


bash

# 示例:进入安装目录并执行

cd /path/to/installer

./installer.bin  # 或根据实际情况执行setup.sh等


在安装类型中选择 “Load Generator” 或自定义安装仅勾选负载生成器组件。


配置:

环境变量:安装程序一般会修改 ~/.bash_profile 或 /etc/profile,添加LoadRunner的bin目录到PATH。安装后需重新登录或执行 source ~/.bash_profile 使配置生效。

证实安装:运行以下命令,应能看到版本信息而无报错。


bash

cd /opt/microfocus/LoadRunner/bin  # 假设为默认安装路径

./m_daemon_setup -verify


四、启动服务并和Controller建立连接


启动LoadRunner Agent守护进程:

Agent进程(magentproc)是负载生成器的重要服务。


bash

# 进入bin目录并以后台服务形式启动

cd /opt/microfocus/LoadRunner/bin

./magentproc &

# 或者使用启动脚本(如果提供)

# ./lr_load_generator start


证实启动:使用 ps -ef | grep magentproc 查看进程,并使用 netstat -tlnp | grep 50500 确定端口已在监听。


在Controller中添加负载生成器:

在Windows Controller中,通过 “负载生成器” 管理界面进行添加:

打开“设计”情形视图,点击“负载生成器”按钮。

点击“添加”,输入Linux服务器的主机名或IP地址。

选择平台类型为 “Linux”。

点击“连接”。状态应从“挂起”变为“就绪”(绿色对勾)。如果连接失败,请跳至第六部分进行故障排查。


五、准备和运行Vuser脚本


脚本上传和准备:

Vuser脚本一般在Windows的VuGen中开发并调试通过。

对于要在Linux上运行的脚本,必须保证其兼容性。如,使用web_custom_request等通用函数,避免调用Windows特有的API或COM组件。

将脚本依赖的所有文件(脚本本身、参数化数据文件、usr文件夹等)打包成ZIP或TAR,上传至Linux负载机的一个专用目录(如 /home/loadrunner/scripts)。


在Linux上解压和运行前检查:


bash

mkdir -p /home/loadrunner/scripts/my_script

unzip /path/to/uploaded/script.zip -d /home/loadrunner/scripts/my_script

cd /home/loadrunner/scripts/my_script

# 检查脚本是不是存在并具有可执行权限

ls -l


通过Controller调度执行:

在Controller的情形设计中,将所需的Vuser组分配给已连接的Linux负载生成器。

点击“运行”情形,Controller会自动将脚本文件分发到Linux负载机的临时目录,并指示其启动相应数量的Vuser进程执行。

可以在Linux上使用 ps -ef | grep vuser 观察运行的Vuser进程。


六、常见故障

Controller连接失败:

1. 网络不通:使用 ping 和 telnet <Linux_IP> 50500 从Windows测试。

2. 防火墙/端口阻塞:确定Linux和中间网络设备的防火墙规则。

3. Agent未运行:在Linux上检查magentproc进程并查看/tmp/magent*.log日志。

Vuser无法启动或立即失败:

1. 脚本不兼容:检查脚本中是不是有Linux不支持的函数。

2. 依赖库缺失:使用 ldd <vuser_executable> 检查Vuser二进制文件的库依赖。

3. 权限问题:保证运行目录对当前用户可写。

运行时负载不均衡或Vuser崩溃:

1. Linux系统资源耗尽:使用 top, free -m, ulimit -a 检查CPU、内存、进程数限制。

2. 参数化文件路径错误:在Linux脚本中,文件路径需使用正斜杠 /。


建议:

使用nohup运行:对于长期运行的负载测试,建议使用 nohup ./magentproc & 启动,避免因SSH会话断开而结束进程。

资源监控:集成Linux系统监控工具(如 sar, vmstat),将负载机本身的资源使用情况(CPU、内存、网络IO)纳入性能分析报告,以判断其是不是成为短板。


在Linux运行Vuser脚本的重点是:精确满足系统依赖、正确配置网络连接、保证脚本跨平台兼容,并通过Controller进行集中化调度管理。

文章标签: 软件测试 测试工具
咨询软件测试