网站响应慢、或者无响应故障排查

在实际的网站运营中,会出现各种各样的问题导致网站访问变慢,甚至响应超时,下面讲一下从排查问题到解决问题的过程。

首先不要慌,沉着冷静是解决问题的首要条件,排查过程如下:

1.确定自己所在的内网有没有问题,可以访问一下其他网站的速度,对比速度,如果内网没问题,则看其下

2.使用ping www.xxx.com 命令观察服务器的响应时间以及是否有丢包,如果响应时间很长,或者有很多超时,则说明网站慢的原因在于网站入口的公网网络有问题,如果有cdn,则说明cdn所在的网络有问题,联系网络或者cdn运营商即可。否则如果ping响应很顺畅,则看其下

3.如果使用cdn则检测服务所在的机房所在的网络是否正常 ping 即可,如果机房网络也没问题,则看其下

4.网站的前端一般使用lvs,haproxy,slb等负载均衡工具,则要检测这些负载均衡软件的运行状况,如果正常则看其下

5.负载均衡的后面往往是前端代理服务器,目前最流行的莫过于nginx,这时就得查看nginx的访问日志了,要特别关注一下nginx的error日志,如果有大量访问超时,则问题可确定为后端服务响应有问题。具体进入后端服务器所在f的服务器,使用top查看服务器的cpu、内存的负载情况,iostat查看io的负载状况,从而确定响应慢的进程以及服务,步骤如下

6.如果发现的某进程cpu使用率高 则可以使用 top -H -p 进程号 查看具体应用里面占用cpu的线程号,那java的后端服务讲解 可以使用jstack打印当前堆栈信息,把之前找到的线程号转化为十六进制,在jstack打印的信息里面搜索,把对应的信息提供给开发者,从而解决问题

7.很大可能的原因是数据库响应慢导致的连锁问ut如果使用mysql数据库,可以查看mysql的慢查询日志,找到对应响应慢的sql语句,进行索引优化,或者提供给程序组进行功能的改进优化

8.查看后端服务器日志往往也能发现很多问题,具体看项目...

你可能感兴趣的:(网站响应慢、或者无响应故障排查)