asp.net性能优化

今天碰到了一个问题,asp.net应用中双机的一台间歇性的出现cpu占用率100%的情况,而另外一台基本稳定在50%以下较为稳定,初步的跟其他工程师沟通,程序中没有复杂的算法和很深的循环等。

下面记录下简单的分析过程:

1、应用做了基于F5负载均衡,另外一台cpu占用比较低而且稳定证明并发并不是很高。

2、在并发不高,没有复杂算法的前提下,初步断定不是gc时产生的压力,而且cpu占用率较高时应用访问并没有较为明显的停顿。

3、同时监控web的cpu,db的cpu和网络访问性能,发现cpu较高时DB的压力并不大,基本稳定在50%左右,但是较高的给CPU峰值过后,会出现网络的流量的峰值,在并发不大的情况下,可以推断此时用户在进行附件的操作,如上传图片和等。经过沟通发现程序中提高了图片的打包下载功能,那么cpu的峰值出现在打包的zip调用之中,而且频繁的打包操作的那几个用户正好被F5分配到了100%的那台机器上。经过一段时间的观察用户打包下载高峰过后cpu回归正常。

简单的总结,在性能分析的过程中并没有运用什么复杂的工具,一步步分析和推理,发现问题其实很简单。

猜你喜欢

转载自campolake.iteye.com/blog/2197525