做民宿需要和多家网站合作吗,秦皇岛的网站建设公司,南京网站开发南京乐识赞,入职中企动力一月有感大家都知道.net有一套自己的内存#xff08;垃圾#xff09;回收机制#xff0c;除非有一些数据#xff08;方法#xff09;长期占有内存不随着垃圾回收功能而释放内存#xff0c;这样就造成了我们经常说的内存泄露、内存持续增长得不到释放等问题导致APS.net网站或者C/S…大家都知道.net有一套自己的内存垃圾回收机制除非有一些数据方法长期占有内存不随着垃圾回收功能而释放内存这样就造成了我们经常说的内存泄露、内存持续增长得不到释放等问题导致APS.net网站或者C/S应用程序的用户无法正常使用。最终会导致用户通过客服人员或者技术支持人员投诉公司的技术部门形成一连串的未知的不良反映。
不管哪位性能测试人员遇到这样的问题都是摸不着头脑不知从何处下手。.net环境中不像JAVA有那么多的工具可以支撑比如性能测试经常用到的Jconsole、Jprofiler等工具并且基于JAVA运行环境的在打印GC日志方面也很强大。对于.net平台微软也提供的.net辅助工具CLR Profiler可以很好的帮助我们的性能测试人员以及研发人员找到内存没有及时回收占着内存不释放的方法详细到这个方法下面定义的数组或者其他变量。
下载地址http://search.microsoft.com/en-us/DownloadResults.aspx?qclr%20profiler
可根据自己电脑.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 菜单可以看到在不同线程下所有方法占用内存大小被调用次数等信息 如果看不到图片请查看我的另一篇文章http://blog.csdn.net/wy3552128/article/details/8158938