使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题 2016-11-23 09:07
一、前言
最近一段时间,网站经常出现两个问题:
1.内存占用率一点点增高,直到将服务器内存占满。
2.访问某个页面时,页面响应过慢,CPU居高不下。
初步判断内存一点点增多可能是因为有未释放的资源一直在占用内存,而cpu居高不下可能是因为执行了耗时的操作。
下面我们就使用ANTS Performance Profiler和ANTS Memory Profiler这两个工具来分析具体原因。
--------------------------------------------------------
工具下载地址:ANTS Performance Profiler 8 安装包+激活工具+教程
官方文档:https://documentation.red-gate.com/dashboard.action
需要注意的是:安装完成后会有两个工具,如下图:
二、CPU分析
我们打开内存分析工具,如下:
点击New profiling session 按钮:
点击Start profiling 按钮结果如下:
从上图授权的方法是最耗时也是请求最频繁的方法,针对这种现象我们可以把用户的权限放在session中从而减少连接数据库的次数,进而提高性能
通过分析我们可以找出最耗时的方法,最耗时的请求URL,最耗时的sql语句,通过这些分析我们可以轻松找出程序的性能短板,从而有针对性的进行优化
三、内存分析
启动内存分析工具:
点击Start profiling 按钮结果如下:
点击Class list,我们可以看出哪些类型的数据占用的内存最高:
点击上图画圈的地方如下:
双击上图中的绿条,结果如下:
将图放大到绿色的地方结果如下:
通过上述方法,我们可以找出需要改进的地方,针对性的进行优化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端