news 2026/7/2 4:28:12

高校软件课题验收测试【软件性能测试存在内存泄漏的迹象:如何利用LoadRunner来监控内存泄漏】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高校软件课题验收测试【软件性能测试存在内存泄漏的迹象:如何利用LoadRunner来监控内存泄漏】

LoadRunner主要通过性能计数器来监控系统资源。

步骤1添加监控计数器

在Controller的运行视图中,添加需要监控的性能计数器。

操作系统级内存计数器(Windows示例)

计数器对象Memory,计数器Available Mbytes:可用物理内存。这是最直观的标准,不断下降是泄漏的强烈信号。

计数器对象Memory,计数器Pages/sec:每秒页错误数。不断过高可能表示内存压力大,导致频繁磁盘交换。

计数器对象Process,计数器Private Bytes:所选进程分配的独占内存量。监控被测应用进程的此值是不是不断增长是重点。

计数器对象Process,计数器Working Set:进程工作集大小,即物理内存占用。

文章来源:卓码软件测评

精彩推荐:点击蓝字即可
软件负载测试API自动化测试软件测试第三方软件测试软件性能测试软件测试机构

应用服务器级计数器(以Java为例)

需保证JVM已启用 JMX 监控。

java.lang:type=Memory:

HeapMemoryUsage.used:堆内存已使用量。

NonHeapMemoryUsage.used:非堆内存使用量。

*java.lang:type=GarbageCollector,name= **:

CollectionCount:垃圾回收次数。

CollectionTime:垃圾回收累计时间。

数据库级计数器

监控数据库连接池的使用情况,连接不释放也会导致内存泄漏。

步骤2配置监控和执行测试

在设计视图中,保证场景负载模型是不断性或循环递增的,便观察内存随时间的变化。

设置足够的测试运行时间。内存泄漏一般需要较长时间(如30分钟以上)才能明显暴露。

执行情形,并实时观察添加的计数器图表。

步骤3在Analysis中深入分析数据

测试完成后,使用 Analysis 组件进行深度分析。

整合图表:

将可用内存(Available Mbytes)、被测进程的私有字节(Process(YourApp)\Private Bytes) 和运行用户数(Running Vusers)、事务响应时间(Transaction Response Time)叠加在同一个图形中。

进行关联分析:

正常方式:负载(用户数)上升时,内存占用上升;负载下降时,内存占用应显著回落。

泄漏方式:负载回落后,内存占用不回落或仅回落一小部分,且下一次负载峰值时,内存起点比上一次更高,形成台阶式上升。

聚焦GC活动:

分析 GarbageCollection 相关的计数器。如果发现CollectionCount(特别是Full GC)在测试后期异常频繁,且CollectionTime大幅增加,同时HeapMemoryUsage.used基线不断上移,这几乎可以确定是堆内存泄漏。

诊断排查建议

隔离和定位:

一旦通过LoadRunner宏观定位到内存泄漏,一般需要借助更专业的剖析工具(Profiler) 进行代码级诊断,如:Java VisualVM、JProfiler、.NET Memory Profiler 或 Valgrind(C/C++)。

在Profiler中,重点查找支配树或保留堆分析,找出哪些对象实例数量异常多且无法被回收。

LoadRunner脚本排查:

检查Vuser脚本中是不是存在连接(数据库、网络、文件)未正确关闭的情况。

检查参数化或动态数据使用是不是正确,防止数据无限累积。

流程

基线测试:先运行一个短时间的标准测试,记录正常情况下的内存使用方式。

耐力测试:设计一个长时间(如8-24小时)的稳定负载情形,这是发现内存泄漏的最好测试类型。

监控配置:系统性地添加操作系统、中间件、数据库三层的重点内存计数器。

方式比对:在Analysis中,重点比对内存消耗曲线和负载曲线的走势关系。内存曲线和负载曲线背离(负载稳定,内存不断增长)是判断根据。

结合日志:将LoadRunner结果和应用服务器的GC日志、错误日志时间点进行关联分析,能获得更确切的证据。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 13:24:40

error_log默认格式的庖丁解牛

error_log 默认格式 是 PHP 内置错误日志的 标准文本格式,由 Zend 引擎直接生成,无需任何日志库(如 Monolog)。它虽简单,却包含 时间、错误类型、消息、文件、行号 五大核心要素,是排查 PHP 错误的第一道防…

作者头像 李华
网站建设 2026/6/26 13:24:43

本地部署管理助手 Grocy 并实现外部访问

Grocy 是一款一个自托管的 PHP 网络应用程序,可用于记录物品信息并根据个性化需求进行管理。支持购物清单、家庭用品库存、日常任务及食谱管理,覆盖家庭生活的多个方面,提升组织效率。方便用户清理家庭杂物,避免使用过期物品。本文…

作者头像 李华
网站建设 2026/6/30 2:46:03

干法刻蚀机的微观探索:3D动画如何揭示工艺参数的影响

半导体行业中,干法刻蚀机一直是实现高精度微纳米结构的核心设备。其操作的复杂性和效果的挠性,让业界对其工艺参数的精准控制提出了更高的要求。本文将从工艺参数的角度,深入探讨这一关键设备的工作原理,并阐述3D动画如何在技术展…

作者头像 李华
网站建设 2026/6/28 21:05:19

原圈科技AI市场分析指南:实时洞察,决胜2026!

原圈科技在AI市场分析领域表现突出,本指南将深入探讨如何利用AI构建B2B企业"情报中心"。从AI驱动战略制定、部署智能体进行7x24实时监控,到挖掘深度洞察和建立评估闭环,原圈科技的集成化平台将助您告别信息过载与洞察延迟&#xff…

作者头像 李华
网站建设 2026/6/29 13:05:10

FTDI 这个驱动无法安装

Windows 无法加载这个硬件的设备驱动程序。驱动程序可能已损坏或不见了。 (代码 39) {损坏的映像} %hs 没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装介质重新安装程序,或联系你的系统管理员或软件供应商以获取支持。错误状态 0x FTDI 这个驱动无法安装 详…

作者头像 李华