• 倪朋飞 置顶
    2018-12-12
    统一回复一下终端卡顿的问题,这个是由于网络延迟增大(甚至是丢包)导致的。比如你可以再拿另外一台机器(也就是第三台)在 hping3 运行的前后 ping 一下案例机器,ping -c3 <ip>

    hping3 运行前,你可能看到最长的也不超过 1 ms:

    3 packets transmitted, 3 received, 0% packet loss, time 2028ms
    rtt min/avg/max/mdev = 0.815/0.914/0.989/0.081 ms

    而 hping3 运行时,不仅平均延迟增长到了 245 ms,而且还会有丢包的发生:

    3 packets transmitted, 2 received, 33% packet loss, time 2026ms
    rtt min/avg/max/mdev = 240.637/245.758/250.880/5.145 ms

    网络问题的排查方法在后面的文章中还会讲,这儿只是从 CPU 利用率的角度出发,你可以发现也有可能是网络导致的问题。
    展开
     1
     30
  • Days
    2018-12-13
    软终端不高导致系统卡顿,我的理解是这样的,其实不是系统卡顿,而是由于老师用的ssh远程登录,在这期间hping3大量发包,导致其他网络连接延迟,ssh通过网络连接,使ssh客户端感觉卡顿现象。

    作者回复: 正解👍

    
     26
  • 向阳胜
    2018-12-27
    搞运维好些年了。一些底层性能的东西,感觉自己始终是一知半解,通过这个专栏了解的更深入了,确实学到了很多。而且老师也一直在积极回复同学们的问题,相比某些专栏的老师发出来就不管的状态好太多。给老师点赞。

    作者回复: 也很高兴看到大家有所收获😊

    
     12
  • 卿卿子衿
    2018-12-12
    有同学说在查看软中断数据时会显示128个核的数据,我的也是,虽然只有一个核,但是会显示128个核的信息,用下面的命令可以提取有数据的核,我的1核,所以这个命令只能显示1核,多核需要做下修改

    watch -d "/bin/cat /proc/softirqs | /usr/bin/awk 'NR == 1{printf \"%13s %s\n\",\" \",\$1}; NR > 1{printf \"%13s %s\n\",\$1,\$2}'"

    作者回复: 谢谢分享

    
     12
  • 赵强强
    2018-12-12
    倪老师,案例中硬中断CPU占用率为啥是0呢,硬中断和软中断次数不是基本一致的吗?
     1
     9
  • 2xshu
    2018-12-12
    老师,网络软中断明明只占了百分之四左右。为什么终端会感觉那么卡呢?不是很理解这点呢

    作者回复: 参考置顶回复

    
     9
  • 我来也
    2018-12-12
    [D10打卡]
     "hping3 -S -p 80 -i u100 192.168.0.30" 这里的u100改为了1 也没觉得终端卡,top的软中断%si倒是从4%上升了不少,吃满了一个cpu.
    可能是我直接在宿主机上开终端的原因,本身两个虚拟机都在这个宿主机上,都是走的本地网络.
    本地网卡可能还处理的过来.
    -----------
    在工作中,倒是没有遇到小包导致的性能问题.
    也许是用户数太少,流量不够.[才二三十兆带宽], 也许是之前发生了,自己并不知道.
    在工作中遇到的软中间导致的性能问题就是上期说的usleep(1)了.
    -----------
    本期又学到新东西了:
    1.sar 原来可以这么方便的看各网卡流量,甚至是网络帧数.
    到目前为止,我都是用的最原始的方法:在网上找的一个脚本,分析ifconfig中的数据,来统计某个网卡的流量.一来需要指定某个网卡(默认eth0),二来显示的数据不太准确且不友好(sleep 1做差值).
    2.nping3 居然可以用来模拟SYN FLOOD. (不要用来做坏事哦)
    3.tcpdump 之前有所耳闻. 用的不多. 平常有解包需求,都是在windows下用wireshark,毕竟是图形界面.
    -----------
    有同学说"仅凭tcpdump发现一个syn包就断定是SYN FLOOD,感觉有些草断"
    我是这样认为的:
    你tcpdump 截取一段时间的日志, 除去正常的流量, 着重分析异常的,再根据ip来统计出现的次数, 还是可以合理推理出来老师结论的.
    毕竟平常不会有哪个ip每秒产生这么多的syn,且持续这么长时间.
    展开

    作者回复: 👍

    最后一个问题其实前面已经看到PPS了

    
     4
  • 黄海峰
    2018-12-12
    这真是非常干货和务实的一个专栏,这么便宜,太值了。。。

    作者回复: 😊

    
     4
  • xfan
    2018-12-12
    ssh的tty其实也是通过网络传输的,既然是经过网卡,当然会卡,这就是攻击所带来的结果

    作者回复: 对的

    
     2
  • Vicky🐣🐣🐣
    2018-12-12
    1. 网络收发软中断过多导致命令行比较卡,是因为键盘敲击命令行属于硬中断,内核也需要去处理的原因吗?
    2. 观察/proc/softirqs,发现变化的值是TIMER、NET_RX、BLOCK、RCU,奇怪的是SCHED一直为0,求老师解答

    作者回复: 我们是SSH登陆的机器,还是走网络而不是键盘中断😓

    
     2
  • 王星旗
    2019-06-11
    hping3 -S --flood -p 80 ip,这样压力更大,哈哈

    作者回复: 👍

    
     1
  • 几叶星辰
    2019-01-24
    怎么让网卡中断平衡呢,可以请教下linux 2.6.40。中断平衡问题吗,以及内核版本更高的版本?

    作者回复: 配置 smp_affinity 或者开启 irqbalance 服务

    
     1
  • 男人十八一枝花
    2018-12-17
    cat /proc/softirqs时我有4个cpu,可用
    watch -d "/bin/cat /proc/softirqs | /usr/bin/awk 'NR == 1{printf \"%-15s %-15s %-15s %-15s %-15s\n\",\" \",\$1,\$2,\$3,\$4}; NR > 1{printf \"%-15s %-15s %-15s %-15s %-15s\n\",\$1,\$2,\$3,\$4,\$5}'"
    查看

    作者回复: 谢谢分享👍 不懂awk的赶紧去学习😊

    
     1
  • Vicky🐣🐣🐣
    2018-12-12
    执行了一下hping3,机器直接卡死了,登录不上去了,哈哈

    作者回复: 可能太猛了,调整下参数再试试

    
     1
  • chenjt
    2018-12-12
    同问,这种情况下cpu使用率这么低,为什么会感到卡顿呢

    作者回复: 参考置顶回复

    
     1
  • bluefantasy1
    2018-12-12
    老师,既然软中断并没有占用太多cpu资源,为啥会影响其他任务的性能?

    作者回复: 参考置顶回复

    
     1
  • zqing
    2018-12-12
    同问:老师,网络软中断明明只占了百分之四左右。为什么终端会感觉那么卡呢?不是很理解这点呢

    作者回复: 参考置顶回复

    
     1
  • 笑
    2020-01-17
    打卡,Day 9,在实际生产中,软中断导致的性能瓶颈大多是网络收发类型的,特别是网络接收的软中断。在碰到这类问题时,可以借用 sar、tcpdump 等工具,做进一步分析。sar 可以用来查看系统的网络收发情况,tcpdump用来抓包具体分析。
    
    
  • 刘友淙
    2020-01-16
    D6 打卡
    
    
  • 丁小疯
    2019-12-21
    请教案例中是如何判断的哪个端口受到了syn flood呢?
    
    
我们在线,来聊聊吧