今天被面试官问到一个问题,网站变卡了怎么去排查原因。~忘大神给意见。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xustrive
V2EX    服务器

今天被面试官问到一个问题,网站变卡了怎么去排查原因。~忘大神给意见。

  •  
  •   xustrive 2017-12-20 19:52:48 +08:00 7713 次点击
    这是一个创建于 2920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天面试被问到了这个问题,想听听大家的想法。 首先我先说说我的回答:

    网站变卡了,首先从网络端开始查询是否受到了 DD 的攻击.使用 nmon 工具查看当前的网卡网络流量信息。首先判断是否有被 DD 攻击。 如果流量正常则查看一下网络连接状态使用(netstat -ano) 查看是否有明显的大量连接数。来判断是否受到了 CC 攻击。(我理解的是 DD 就是发大量的数据包来把你的带宽占满,CC 攻击就是不停访问你大量占用 CPU 或者数据库查询的页面将服务器拖垮,如有误忘指正)

    如果流量不是很大的话,连接数也不是很多的话,使用 Top 命令查看是否有 CPU 占用高的进程 ,比如说如果 Tomcat or nginx or Mysql 是否占用了很大的 CPU,查看是否有程序的死循环导致的 CPU 跑满. 查看当前 IO 是否很高,是否有大量的查询数据库。 (这里有问到如何去查询 IO 是否很高,我回答也是使用 nmon 的 d 菜单去看,不过似乎这个并不能精确到进程,忘大神指教)

    还有就是用 free -m 查看当前内存占用率是多少,是不是程序有内存泄漏导致内存满了溢出?这样拖慢程序? (这个我没讲,有点小紧张忘了)

    其中很多操作都是需要精确到命令。。我感觉我平时遇到这种问题都是土法子搞,因为毕竟不是大型生产环境直接重启服务或者 kill 掉了,我知道这个习惯不好,所以要改。

    PS 题外话: 如果受到了攻击该怎么样?关服务器么。。。 另外如果受到了 CC 攻击导致 CPU 边高应该怎么办。。

    抛砖,忘大神给出一二点建议和授予一点知识,若同在深圳我请你吃好吃的呀(一枚吃货的第一反映)。Orz

    14 条回复    2017-12-21 10:17:24 +08:00
    zhjits
        1
    zhjits  
       2017-12-20 20:01:16 +08:00   1
    网站变卡了当然先打开开发者工具的 timeline 看一下具体是哪个请求卡了呀(
    taojing10
        2
    taojing10  
       2017-12-20 20:25:51 +08:00 via Android
    Chrome 调试下就看得出呀
    xustrive
        3
    xustrive  
    OP
       2017-12-20 20:31:56 +08:00
    @taojing10
    @zhjits

    找到了,现在改名叫 performance 我点那个录像一样的按钮 就会走一个 Buffer 的进度条,应该就是用这个吧?
    xustrive
        4
    xustrive  
    OP
       2017-12-20 20:33:01 +08:00
    @zhjits
    @taojing10
    怪不得今天那个面试官最后问我 你会不会用那个 F12 的工具。。 我 还很天真的讲 会啊,一般我会用那个来查看一些 URL 错误 出现红 XX 的地址修复。。。
    flynaj
        5
    flynaj  
       2017-12-20 20:44:54 +08:00 via Android
    先看网络,在看服务器,
    bk201
        6
    bk201  
       2017-12-20 20:47:23 +08:00 via iPhone
    排查个人以为是从源头一直扩展开来谈,结果你只是列举了有哪些情况.
    yimity
        7
    yimity  
       2017-12-20 20:59:01 +08:00
    先看哪里变卡了。
    xustrive
        8
    xustrive  
    OP
       2017-12-20 21:18:53 +08:00
    @bk201 能给点思路么。0.0
    dltsgl
        9
    dltsgl  
       2017-12-20 21:36:35 +08:00
    忘->望
    xustrive
        10
    xustrive  
    OP
       2017-12-20 22:03:35 +08:00
    @dltsgl 我这打得有点急... 下次检查
    corvofeng
        11
    corvofeng  
       2017-12-20 22:15:08 +08:00 via Android
    其实我也被游戏公司问过这个问题, 我是这么答的, 有不合适的也请指正:

    先看看是不是用户的网络有问题, 网速不够什么的。

    再看看机房是不是被攻击, 就是别人被攻击也有可能发生机房网络的抖动, 会造成某一时刻时延很大。

    然后再看服务器的负载, 看看是不是需要加资源了。

    再看看是不是数据库访问慢, 是不是要优化下数据库查询。

    如果还解决不了, 最后再看看是哪些函数消耗性能比较多, 测量一下程序性能, 针对性的优化。

    实在不行, 就只能看程序架构了。
    zhjits
        12
    zhjits  
       2017-12-20 22:19:58 +08:00
    @xustrive 那个是 JS 运行性能……你要看 network tab
    yingfengi
        13
    yingfengi  
       2017-12-20 23:52:08 +08:00
    进出口防火墙看一下
    第一反应。。。
    系统集成路过
    whx20202
        14
    whx20202  
       2017-12-21 10:17:24 +08:00
    先看看系统占用啊,比如 top 里面看看 cpu load avg
    free -mh
    iostat -xmd 1
    sar -n DEV 2
    等等

    你说的 IO 精确到进程可以 iotop

    然后一般变卡,也有不少,都是业务上
    这时候看日志,看数据库等等,肯定能看出来,大不了上 profile

    还有的很多是底层的 Linux 相关的,我遇到过,但是不会,比如 dentry 什么的出了问题, 这时候要查资料或者求助同事
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3215 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 04:44 PVG 12:44 LAX 20:44 JFK 23:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86