.NET程序内存分析工具CLRProfiler的使用(性能测试)
来源:互联网 发布:数据仓库与数据库区别 编辑:程序博客网 时间:2024/05/01 16:33
大家都知道.net有一套自己的内存(垃圾)回收机制,除非有一些数据(方法)长期占有内存不随着垃圾回收功能而释放内存,这样就造成了我们经常说的内存泄露、内存持续增长得不到释放等问题导致APS.net网站或者C/S应用程序的用户无法正常使用。最终会导致用户通过客服人员或者技术支持人员投诉公司的技术部门,形成一连串的未知的不良反映。
不管哪位性能测试人员,遇到这样的问题都是摸不着头脑,不知从何处下手。.net环境中不像Java有那么多的工具可以支撑,比如性能测试经常用到的Jconsole、Jprofiler等工具,并且基于JAVA运行环境的在打印GC日志方面也很强大。对于.net平台,微软也提供的.net辅助工具CLR Profiler可以很好的帮助我们的性能测试人员以及研发人员,找到内存没有及时回收,占着内存不释放的方法(详细到这个方法下面定义的数组或者其他变量)。
下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=16273
可根据自己电脑.NET的版本下载相应的CLR Profiler,我下载的是CLR Profiler for .NET Framework 4版本的。
下载后提示解压缩,选择要加压到的目录;然后进入D:\SoftWare\CLRProfiler4\CLRProfiler\Binaries目录下选择对应操作系统64位或者32位的CLRProfiler.exe。
在说一下,CLRProfiler可以分析.net平台开发的几乎所有的产品,包括C/S应用程序、服务和asp.net编写的网站等。
我的环境是:IIS服务器(asp.net开发的站点)+MS sql
打开CLRProfiler界面,选中Profiling active、Allocation和Calls,【Start Application】是加载.net开发的exe程序的;【Start URL】是输入被测页面URL的;
我要在IE中测试asp.net开发的页面,CLR Profiler首先要加载IIS所需要的环境变量,CLR Profiler然后提示你加载ASP.NET应用程序和等待ASP.NET工作进程启动。
在File菜单中点击Profile ASP.NET
停止IIS服务可能要很长时间,需要耐心等待。最后提示可以测试页面啦
“Waiting for ASP.NET to start common language runtime - this is thetime to load your test page”
点击【Start URL】按钮,输入我们要测试的页面URL,点击OK,就会自动打开我们要检查内存有不释放内存的页面,多在页面中使用一会,以便CLR Profiler收集更多的数据。
当已完成页面的运行,请点击CLR Profiler窗口中的 【Kill ASP.NET】。然后CLR Profiler自动关闭IIS,移除环境变量,重启IIS。
点击【Allocation Graph】打开内存分配视图,在这个视图当中我们可以看出堆栈是如何分别对象的
点击【Objects by Address】按钮将会显示各种方法在内存中占用的直方图界面
可以通过选中那个视图中的某一个柱形条,右击show who allocated。点击这个菜单项显示关于所选分配的特定详细内容,而不是所有分配的
点击[TimeLine]按钮,在打开的图片中可以清晰的看出各次回收时间和前后内存占用量情况
在view菜单中,有很多没有显示的菜单。
点击call tree 菜单,可以看到在不同线程下,所有方法占用内存大小,被调用次数等信息
- .NET程序内存分析工具CLRProfiler的使用(性能测试)
- .NET程序内存分析工具CLRProfiler的使用(性能测试)
- .NET程序内存分析工具CLRProfiler的使用(性能测试)
- .NET程序内存分析工具CLRProfiler的使用
- 利用CLRProfiler分析.NET程序
- 如何查找.NET程序内存不断上涨的原因(CLRProfiler)
- 如何查找.NET程序内存不断上涨的原因(CLRProfiler)
- JavaME 程序性能调优内存分析工具 Memory Monitor 的使用
- 【测试工具】Android内存分析工具 MAT 的使用
- 程序性能分析-使用vs2008的分析工具
- 程序性能分析-使用vs2008的分析工具
- VS2010自带的性能分析工具分析.NET程序的性能
- gprof性能测试工具使用分析
- .NET : 使用代码性能分析工具
- HPROF:Java程序的内存及CPU使用分析工具
- android 性能分析工具、布局分析工具、monkey自动化测试的简单使用
- 通过VS2010的内存分析工具来分析程序性能问题
- 性能分析工具的使用
- vue2+webpack+express 简单入门:从前端到后台
- 极验(geetest)滑动验证码研究
- jsp页面显示空白的原因
- 关于信息抽取的整理总结(上)
- angularjs做跨域遇到的一些问题
- .NET程序内存分析工具CLRProfiler的使用(性能测试)
- 消除眼袋的小窍门
- string to int to double and int double to string
- Spark源码分析之分区器的作用
- Spring源码学习--BeanDefinitionHolder
- 用java发送邮件
- 治理“乱闯红灯”,黑科技让你无处(灯)可闯
- 一维的Haar小波变换
- maven小结