最近一段时间,网站常常出现两个问题:sql
1.内存占用率一点点增高,直到将服务器内存占满。数据库
2.访问某个页面时,页面响应过慢,CPU居高不下。服务器
初步判断内存一点点增多多是由于有未释放的资源一直在占用内存,而cpu居高不下多是由于执行了耗时的操做。session
下面咱们就使用ANTS Performance Profiler和ANTS Memory Profiler这两个工具来分析具体缘由。工具
--------------------------------------------------------性能
工具下载地址:ANTS Performance Profiler 8 安装包+激活工具+教程优化
官方文档:https://documentation.red-gate.com/dashboard.action网站
须要注意的是:安装完成后会有两个工具,以下图:spa
咱们打开内存分析工具,以下:3d
点击New profiling session 按钮:
点击Start profiling 按钮结果以下:
从上图受权的方法是最耗时也是请求最频繁的方法,针对这种现象咱们能够把用户的权限放在session中从而减小链接数据库的次数,进而提升性能
经过分析咱们能够找出最耗时的方法,最耗时的请求URL,最耗时的sql语句,经过这些分析咱们能够轻松找出程序的性能短板,从而有针对性的进行优化
启动内存分析工具:
点击Start profiling 按钮结果以下:
点击Class list,咱们能够看出哪些类型的数据占用的内存最高:
点击上图画圈的地方以下:
双击上图中的绿条,结果以下:
将图放大到绿色的地方结果以下:
经过上述方法,咱们能够找出须要改进的地方,针对性的进行优化