现场同事报有个功能流程回退很慢,确定不是整个系统慢,做了一个httpwatch,等待了几分钟后,浏览器有卡死的状况。结果是看到一堆浅绿色,都是请求静态资源的,请求时长都是*号。
+ 0.070 浅绿色 * 0 0 GET * http://10.115.153.10:8080/web/gg/common/cui/js/comtop.ui.min.js?t=1474193370019
在time chat这一栏,基本上深绿色和红色各占一半,且Received字节越大越慢,先对这些颜色描述一下(httpwatch9.3.39pro这个版本可以看到各种颜色的描述):
白色------- blocked 曾经服务慢的无法响应的情况下(没有宕机),有巨大的blocked,长的达到1分多钟。
粉红色----- DNS Lookup
黄色------- Connect
浅绿色----- Send --本次的问题是这个问题。
红色------- Wait
深绿色----- Receive
现场服务是集群的,初步怀疑是某个节点有问题,因为访问这些静态资源都有问题。于是单点访问这些服务,发现有的节点有点慢,有的节点不慢。把数据库报告取出来分析,发现流程表的索引丢失,导致IO负载过高。加上索引后,问题解决了。但没有搞清楚为什么服务满,会导致send慢,难道是服务不接收导致?