当前位置: 代码迷 >> 高性能WEB开发 >> 【求好手】网站请求一次页面,服务器CPU 100%一次,频繁请求直接宕机!
  详细解决方案

【求好手】网站请求一次页面,服务器CPU 100%一次,频繁请求直接宕机!

热度:335   发布时间:2013-08-01 15:23:18.0
【求高手】网站请求一次页面,服务器CPU 100%一次,频繁请求直接宕机!!!
如题,服务器WINDOWS SERVER 2008
之前一直好好的,后来突然就发现只要请求一次页面,服务器CPU就100%一次,
多次连续请求页面后,服务器直接宕机!
服务器 CUP100%

------解决方案--------------------
如果后台语言采用的是java可以参考一篇文章

 java服务器load飚高排查思路
http://blog.csdn.net/aalansehaiyang52/article/details/8728706
------解决方案--------------------
数据库的原因吧。
------解决方案--------------------
问题分析:
1、首先看cpu利用高的应用是什么?
2、如果是java的,诊断java的相关;如果是数据库,诊断数据库。
3、假设你后台是java,其实你可以从这几个方面考虑:
a、先看看这个页面是不是存在死循环、循环生成大量对象或者该页面调用的相关接口是否存在问题。
b、如果没问题,那就检查一下jvm参数信息,你可以用jvm一些工具抓包看,例如:最简单的jconsole,可能需要调优。
c、还不行,看看你的web容器参数调优一下,看是不线程池问题等。
4、假设是数据库方面问题:
a、看日志中那种sql最多,然后查找为什么会某类sql多。
b、还有就是看数据库连接数,是否够用。
c、再是看数据库中哪些sql比较耗时间,然后分析。
反正很多方式、方法,你需要自己参考分析!
------解决方案--------------------
上面的方法都是瞎子摸象,具体办法:
1.把你的程序全部挪到linux去
2.top -H查找定位到暂用比较高的线程号
3.jstack load.log出来
4.记住之前线程好转换成16进制去查找log中的对应的类方法
------解决方案--------------------

------解决方案--------------------
调试加看进程
------解决方案--------------------
跟WIN 还是LIN 应该没关系 ,开启 虚拟机VISUAL看 你写的应用哪个类
哪个方法 占用资源最大 CPU运行事件最长就行了。
------解决方案--------------------
visualvm_131 就这个 JDK6自带的就够用了。
------解决方案--------------------
引用:
是.NET平台C#语言,sqlserver.exe平台占用进程最多!后来发现是服务器电源有问题!
有关数据库操作的也优化了,现在OK了!

服务器电源有问题!   这个汗
数据库和IIS还是分开部署吧
------解决方案--------------------
请求任何页面都是100%吗?
  相关解决方案