LoadRunner监控 WebLogic、WebSphere中间件性能
一、方法
直接使用LoadRunner内置监控器:Controller自带针对WebLogic、WebSphere 的专用 JMX 监控器,以及通用的J2EE Monitor (JMX)。
通过 SiteScope间接监控:适用于已部署SiteScope的环境,无需在Controller机器上部署中间件客户端jar包。
其他辅助方式:SNMP、PerfMon+自定义脚本等。
二、中间件端配置启用JMX远程访问
1. WebLogic Server
默认启用根据T3协议的JMX(管理端口一般为 7001)。
需要提供具有Admin或Monitor角色的用户。
如需独立JMX端口,可额外添加JVM参数,但T3连接已足够。
2. WebSphere Application Server
保证 SOAP 连接器端口可用(单机 Base 默认 8880,ND Deployment Manager 默认 8879 或 8880)。
在控制台中查看 SOAP_CONNECTOR_ADDRESS 端口号。
需要一个具有监控/管理员权限的用户。
三、LoadRunner Controller监控器配置
1. WebLogic专用监控器
在 Controller 的 Run 视图中添加测量,选择Oracle WebLogic Monitor。
添加主机时填写:主机 IP、端口(如 7001)、用户名/密码、域名、服务器实例名称、协议 t3。
连接成功后可从列出的 MBean 计数器中选择所需标准。
2. WebSphere专用监控器
选择IBM WebSphere Monitor。
添加主机时填写:主机 IP、SOAP 端口(如 8880)、用户名/密码、节点名、服务器名。
同样会列出可用计数器。
3. 通用J2EE Monitor (JMX)
适用于统一通过 JMX 远程端口连接的场景。
需提供 JMX URL,如:
WebLogic:service:jmx:rmi:///jndi/rmi://host:9090/jmxrmi
WebSphere:service:jmx:rmi://host:2809/jndi/JMXConnector
4. 前置环境准备
WebLogic:将 wlthint3client.jar 或 weblogic.jar 复制到 <LR安装>\classes 目录下,重启 Controller。
WebSphere:将下列 jar 复制到相同目录:
com.ibm.ws.admin.client_*.jar
com.ibm.ws.orb_*.jar
com.ibm.ws.ejb.thinclient_*.jar
ibmorb.jar 等
如果使用 SiteScope 监控,则无需复制 jar。
四、监控的性能标准
WebLogic计数器
JVM 内存
JVM Heap Free Current / JVM Heap Size Current:当前空闲堆内存和总堆大小,可计算使用率。
JVM Heap Used Current:当前已用堆内存。
线程池
Execute Thread Idle Count:空闲执行线程数,数值过低表示线程池繁忙。
Pending User Request Count:等待处理的请求数,队列积压标准。
Hogging Thread Count:占用时间超过阈值的线程数。
JDBC 连接池
Active Connections Current Count:当前活动连接数。
Waiting For Connection Current Count:正在等待获取连接的请求数,不断大于 0 表示连接池不足。
Connection Delay Time:获取连接的平均延迟。
Web 应用
Open Sessions Current Count:当前 HTTP 会话数。
WebSphere 重点计数器(需已启用 PMI)
JVM 内存
JVM Runtime: UsedMemory / FreeMemory:已用/空闲堆内存。
线程池
Thread Pools: ActiveCount:当前活动线程数。
Thread Pools: PoolSize:线程池大小。
Thread Pools: PercentMaxed:线程池达到最大容量的时间百分比。
JDBC 连接池
JDBC Connection Pools: FreePoolSize:空闲连接数。
JDBC Connection Pools: WaitTime:连接等待时间(毫秒)。
JDBC Connection Pools: PercentUsed:连接池使用率。
Web 容器
Web Applications: RequestCount / ResponseTime:请求数及平均响应时间。
五、常见问题排查
无法连接服务器
检查防火墙,保证Controller能访问目的端口(7001、8880 等),可使用telnet测试。
WebLogic可能需要暂时关闭管理端口的双向SSL来测试。
计数器列表为空或找不到MBean
确定用户名/密码权限足够,域名、服务器名大小写严格一致。
WebSphere 必须启用 PMI,并将监控级别设为基本或扩展。
确定已将必要的客户端 jar 文件放入 <LR安装>\classes 并重启Controller。
Java 相关错误
保证 Controller机器有一致的JRE,必要时设置JAVA_HOME。
完整的weblogic.jar或WebSphere瘦客户端jar缺失时,重新复制后重启Controller。
使用 SiteScope 作为中介
在 SiteScope 中配置 WebLogic/WebSphere 监视器,然后在 LoadRunner 里选择 SiteScope Monitor 拉取数据,完全规避 jar 包依赖问题。
LoadRunner场景运行中就能实时看到堆内存、线程、连接池等标准并和负载变化关联分析从而快速定位短板。