两例拜访毛病小结51CTO博客 - 凯发娱乐

两例拜访毛病小结51CTO博客

2019-01-03 13:32:01 | 作者: 运凡 | 标签: 拜访,问题,运用 | 浏览: 416

 在做运维作业时,或多或少都会遇到拜访犯错或缓慢问题,这儿以两个小的例子来简略阐明下这类问题的troubleshooting的思路。


1.用户查询渠道毛病一例查询渠道结构

nginx:80----------ip1/ip2 java------jdbc---(haproxy)--ip3(3000)+ip4(3000)hiveserver2---hdfs

从后端运用开端查:1)经过hive cli运转sql,检测hadoop运转job的状况,正常。2)因为运用运用jdbc的办法衔接hiveserver2,运用beeline测验hiveserver2的状况,正常。衔接办法:
!connect jdbc:hive2:/xxxx:30000/cdnlog
3)检查运用状况,因为是java运用,因而第一时刻运用jstat检查下gc信息。发现因为s0和old区100%导致运用在做频频的full gc,定位到是存在内存走漏的问题,经过jmap打印相关仓库信息来进一步剖析。
jstat -gcutil  14266 1000 1000
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050
100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050
100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050
4)再来看nginx的拜访日志,能够显着看到nginx首要proxy到ip1,当呼应超时后再proxy到ip2,因而从日志中能够看到两个status和upstream response time.

截取的一段日志:"8.999, 0.008" "ip1:8081, ip2:8081" "502, 200" "9.007"


存在的问题:没有有用的java监控(包含功能监控和日志监控)
2.引荐域名拜访毛病问题毛病现象:用户拜访缓慢,一个url有时呼应超越3s,而且会有必定的几率abort.域名整个的拜访流程:client-----cdn-----内部cdn节点-----源站(F5--nginx---java----redis---db)从用户端开端下手:1)经过curl xxxx --trace-time --verbose来检查拜访时刻的改变状况,单一恳求时刻3s,突变点在用户等候服务器呼应上2)用户与cdn服务器连通性没有问题(推迟5ms以内,无丢包),这点从client—cdn树立衔接耗时也能够看出来(5ms)3)源站nginx呼应时刻2ms,阐明后端运用正常,源站到cdn节点推迟是50ms,无丢包,一起看到在cdn内部经过3多层署理,这就导致cdn内部任何一层有问题都会发生慢速呼应4)调整cdn策略为一层署理,问题得到缓解不过仍是有必定份额的慢速呼应5)越过cdn节点,直接指向源站来进行拜访测验,发现有必定的几率abort6)在client端经过tcpdump抓包,发现client---server衔接树立正常,可是server端有必定的概率会回来RST给client,形成abort的发生
即用户到F5正常,由F5到后端nginx出现问题,终究定位到是因为F5装备犯错导致proxy到了过错的server上。
存在问题:1)RST不会在服务器上发生日志,是tcp层面的问题,还没到运用层,因而经过监控nginx的拜访日志无法发现这种问题,需要对client端的功能做监控2)F5的装备有些问题,关于后边机器的检测,仅仅运用了ping的办法,没有检测端口导致有一部分的恳求会分发到有问题的机器(比较抱负的恳求运用url的运用层检测)
小结:关于这类问题,能够经过两种办法来troubleshooting,从运用动身和从client端动身。两种办法的思路都是相同的,首要要清楚的了解整个的拜访链,然后对拜访进行分化,对每一步都进行检测剖析。一起要注意服务器qos和用户端qos的结合。


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章