zoukankan      html  css  js  c++  java
  • 客户端访问不可达故障集

    0 背景

    经历过多次半夜被电话叫醒,因为大量用户访问服务慢。所以在此写一写解决思路。

    环境是:分布式架构,服务端由linux上的C++写的进程组成。服务器是公有云。

    case 网络波动

    网络波动,就是Flipping,一般在广域网才会提到,是由于线路的不稳定,出现时通时断或瞬断的现象。Flipping一般都是运营商造成,是会经常出现、不可避免的。

    有的架构是跨机房的,前后端是在两个机房,机房之间的网路延迟决定服务质量。如果在监控图表(zabbix)上出现峰值,就会出现前后端通信问题,影响客户端体验。

    有时架构是在一个机房的,但是机房网络波动出入口也会出问题,这个一般可以向公有云服务商确认。

    手动确认方式:

    ping:查两点之间的延迟

    traceroute/tracert:查CS之间的路由链路,看哪个节点出现高延迟。

    case  DDos攻击

    DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击。

    DDoS攻击,对服务器突发性地输入大量无效或慢速的访问请求,导致服务器流量需求激增,导致带宽超限、服务器卡死。

    DDoS攻击不但会造成目标服务器瘫痪,还会影响机房内网正常运作。机房防火墙检测到这种情况,将直接封停服务器IP。

    公有云服务商有高防IP业务,就是把攻击流量引到高防IP,使业务正常。特点是贵。

    解决办法:

    前端部分负载均衡器配置高防

    case  进程死循环

    由于程序内部问题导致cpu占用过高,只要马上kill服务重启,然后排查程序内部问题。

    服务器压力减少I,则客户端访问正常

    case  debug log拖死服务器

    如果进程的debug log模式日志输出量特别大,相较于info模式,cpu占用会成倍上升,动态调整日志等级即。服务器压力减少I,则客户端访问正常。

  • 相关阅读:
    熟悉常用的HBase操作
    第三章 熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    爬取校园新闻首页的新闻
    网络爬虫基本练习
    综合练习:词频统计
    Hadoop综合大作业
    理解MapReduce
    熟悉常用的HBase操作
  • 原文地址:https://www.cnblogs.com/jabbok/p/9877344.html
Copyright © 2011-2022 走看看