1. 查看每一个cpu的负载以及中断指标:(参考:https://www.cnblogs.com/tcicy/p/10197136.html)

业务方在使用KVM虚拟机进行性能压测时,发现某一个核的softirq占比特别高,如下所示:

mpstat -P ALL 1
Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    9.96    0.00    3.17    0.01    0.71    2.00    0.00    0.00    0.00   84.15
Average:       0    0.30    0.00    0.51    0.00    0.05    1.24    0.00    0.00    0.00   97.89
Average:       1   55.32    0.00   18.52    0.00    0.53    0.14    0.00    0.00    0.00   25.49
Average:       2   37.03    0.00   15.00    0.00   11.73   12.93    0.00    0.00    0.00   23.30
Average:       3   56.76    0.00   18.98    0.00    0.50    0.14    0.00    0.00    0.00   23.62
Average:       4   50.96    0.00   11.05    0.00    1.41    0.07    0.00    0.00    0.00   36.52
Average:       5   55.81    0.00   19.03    0.00    0.47    0.14    0.00    0.00    0.00   24.56
Average:       6   43.61    0.00   10.13    0.00    0.49    0.09    0.00    0.00    0.00   45.68
Average:       7   57.33    0.00   19.45    0.00    0.47    0.13    0.00    0.00    0.00   22.62
Average:       8   44.77    0.00    9.83    0.00    0.42    0.09    0.00    0.00    0.00   44.90
Average:       9    1.08    0.00    2.77    0.00    1.42    0.08    0.00    0.00    0.00   94.65
Average:      10    0.04    0.00    0.17    0.00    1.21    6.78    0.00    0.00    0.00   91.79
Average:      11    0.02    0.00    0.06    0.00    0.01    0.01    0.00    0.00    0.00   99.89
Average:      12    0.02    0.00    0.16    0.00    1.39    7.04    0.00    0.00    0.00   91.39
Average:      13    0.02    0.00    0.08    0.01    0.01    0.00    0.00    0.00    0.00   99.88
Average:      14    0.00    0.00    0.07    0.00    0.00    0.00    0.00    0.00    0.00   99.92
Average:      15    0.04    0.00    0.09    0.00    0.00    0.00    0.00    0.00    0.00   99.86
Average:      16    0.02    0.00    0.05    0.00    0.00    0.00    0.00    0.00    0.00   99.92
Average:      17    0.04    0.00    0.03    0.00    0.01    0.01    0.00    0.00    0.00   99.91
Average:      18    0.00    0.00    0.04    0.00    0.01    0.01    0.00    0.00    0.00   99.94
Average:      19    0.05    0.00    0.23    0.03    0.00    0.00    0.00    0.00    0.00   99.68
Average:      20    0.03    0.00    0.13    0.00    1.05    7.76    0.00    0.00    0.00   91.03
Average:      21    0.02    0.00    0.03    0.00    0.00    0.00    0.00    0.00    0.00   99.94
Average:      22    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00    0.00   99.98
Average:      23    0.02    0.00    0.02    0.09    0.00    0.00    0.00    0.00    0.00   99.86
Average:      24    0.00    0.00    0.12    0.00    3.17   15.49    0.00    0.00    0.00   81.22
Average:      25    0.00    0.00    0.18    0.00    0.00    0.00    0.00    0.00    0.00   99.82
Average:      26    0.03    0.00    0.06    0.00    0.00    0.04    0.00    0.00    0.00   99.86
Average:      27    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
Average:      28    0.02    0.00    0.03    0.00    0.00    0.05    0.00    0.00    0.00   99.90
Average:      29    0.44    0.00    0.94    0.00    0.02    0.01    0.00    0.00    0.00   98.59
Average:      30    0.01    0.00    0.02    0.00    0.00    0.00    0.00    0.00    0.00   99.97
Average:      31    0.01    0.00    0.08    0.05    0.00    0.00    0.00    0.00    0.00   99.85
Average:      32    0.05    0.00    0.08    0.00    0.00    0.00    0.00    0.00    0.00   99.85
Average:      33    0.03    0.00    0.04    0.00    0.00    0.00    0.00    0.00    0.00   99.91
Average:      34    0.00    0.00    0.10    0.00    1.33    6.77    0.00    0.00    0.00   91.79
Average:      35    0.06    0.00    0.15    0.00    0.01    0.00    0.00    0.00    0.00   99.77
Average:      36    0.06    0.00    0.10    0.00    1.30   10.50    0.00    0.00    0.00   88.05
Average:      37    0.02    0.00    0.07    0.00    0.02    0.02    0.00    0.00    0.00   99.86
Average:      38    0.05    0.00    0.14    0.00    1.35   10.39    0.00    0.00    0.00   88.07
Average:      39    0.02    0.00    0.13    0.18    0.01    0.01    0.00    0.00    0.00   99.64

其实,看到前面mpstat的显示,如果对网卡多队列,RPS/RFS很熟悉,就会意识到他们在这里不适用。 一句话解释:这个kvm虚拟机只有一个网卡,有网络包到达这个网卡后,它会给某一个cpu(如果没有设置亲和性,这个可以认为是随机的一个cpu,然后就会一直固定在这个cpu上)发中断,通知该cpu来处理这个包,然后cpu就会触发一个软中断把该包送到tcp/ip协议栈(对于tcp包而言)里去处理,该包被放入某一个socket的receive buffer中(如果是一个数据包),软中断结束。 
%soft就是指的CPU耗在软中断处理上的时间。 
可以看到核1的%soft很高,其他的核的%soft基本为0. 
所以就想着把核1的%soft给均摊下,是否可以提升QPS。 
我们想到的方法是网卡多队列,或者RPS/RFS。用这种手段来把网卡软中断给均摊到其他的核上去。

2. 查看每个CPU上的中断变化:

watch -d -n 1 'cat /proc/interrupts'
watch -d -n 1 'cat /proc/interrupts |grep -E "enp5s0f3"'
Every 1.0s: cat /proc/interrupts |grep -E "enp5s0f3"                                                                            localhost.localdomain: Thu Jan 21 20:46:10 202195:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          20          1          0          0          0          0          0          0          0          0          0          0          0          0          0          00          0          0          0          0          0          0          0          0  IR-PCI-MSI 2627584-edge      enp5s0f396:          0          0  568542973          0   16929902          0    3284654          0  182591750          0    2263993          0    3753337          0   744015250  216870268          0  552241418          0      15685          0    3674387          0     112125          0    2881645          0    3546554          0    54391010    5256804          0   45385219          0    1656062          0   69829199          0  IR-PCI-MSI 2627585-edge      enp5s0f3-TxRx-097:          0          0    4607649          0    1479663          0    2786155          0   46627891          0  736533668          0    3750151          0  1065625560    3765484          0    1693397          0  554069952          0     508746          0      18870          0    3239848          0    9600866          0   715468160    1272910          0   13978513          0   12613923          0   13481427          0  IR-PCI-MSI 2627586-edge      enp5s0f3-TxRx-198:          0          0          0          0        510          0      11880          0       1803          0      14090          0   96163845          0          00  360800202          0    3084618          0  696758357          0          9          0        570          0  374160885          0      95515          0    19078180    6936473          0        190          0  196122799          0    8473283          0  IR-PCI-MSI 2627587-edge      enp5s0f3-TxRx-299:          0          0       2245          0    8332855          0      36497          0    6115511          0   25791519          0          0          0       74550  167804562          0  543627622          0          0          0   18982920          0  541808143          0    2219164          0  294297212          0    14310210      27269          0      10280          0  114868812          0    6056541          0  IR-PCI-MSI 2627588-edge      enp5s0f3-TxRx-3100:          0          0       9155          0   69422794          0   18162315          0    4466926          0  189110717          0          0          0   119952610   41574430          0    1680987          0       8875          0    1525786          0     521395          0    2322062          0  364377557          0  8238549730         40          0   17336324          0     940570          0   22848418          0  IR-PCI-MSI 2627589-edge      enp5s0f3-TxRx-4101:          0          0    4931536          0   53429823          0  631213311          0    5700165          0  371677111          0      12402          0    11007380   65434558          0     896685          0  378432869          0    7574076          0    5807676          0    5615317          0    8297189          0   142078990      14640          0  194774810          0    3579341          0    5431105          0  IR-PCI-MSI 2627590-edge      enp5s0f3-TxRx-5102:          0          0     761536          0   18302532          0      60965          0    2862940          0    7080043          0    4744878          0     2958830          0          0    3719027          0          0          0  124772699          0  859454102          0      46192          0    2767191          0    65194410          0          0        700          0  684847631          0    8185540          0  IR-PCI-MSI 2627591-edge      enp5s0f3-TxRx-6103:          0          0       9565          0    4940735          0    1352508          0      55642          0      61360          0  554759678          0   826391470     360683          0    1632161          0          0          0       2458          0   25397625          0    4196539          0  185625265          0       15200    4347106          0  848968539          0      65254          0   32430039          0  IR-PCI-MSI 2627592-edge      enp5s0f3-TxRx-7

网卡多队列配置如下:


[root@localhost ~]# cat /proc/irq/99/smp_affinity
0000,00000400
[root@localhost ~]# cat /proc/irq/100/smp_affinity
0040,00000000
[root@localhost ~]# cat /proc/irq/101/smp_affinity
0004,00000000
[root@localhost ~]# cat /proc/irq/102/smp_affinity
0000,01000000
[root@localhost ~]# cat /proc/irq/103/smp_affinity
0000,00001000
[root@localhost ~]# cat /proc/irq/104/smp_affinity
0000,10000000
[root@localhost ~]# cat /proc/irq/103/smp_affinity_list
12
[root@localhost ~]# cat /proc/irq/102/smp_affinity_list
24
[root@localhost ~]# cat /proc/irq/101/smp_affinity_list
34
[root@localhost ~]# cat /proc/irq/100/smp_affinity_list
38
[root@localhost ~]# cat /proc/irq/99/smp_affinity_list
10
[root@localhost ~]# cat /proc/irq/98/smp_affinity_list
36
[root@localhost ~]# cat /proc/irq/97/smp_affinity_list
20
[root@localhost ~]# cat /proc/irq/96/smp_affinity_list
2[root@localhost ~]# echo 0080,00000000 > /proc/irq/103/smp_affinity
[root@localhost ~]# echo 0040,00000000 > /proc/irq/102/smp_affinity
[root@localhost ~]# echo 0020,00000000 > /proc/irq/101/smp_affinity
[root@localhost ~]# echo 0010,00000000 > /proc/irq/100/smp_affinity
[root@localhost ~]# cat /proc/irq/103/smp_affinity_list
39
[root@localhost ~]# cat /proc/irq/102/smp_affinity_list
38
[root@localhost ~]# cat /proc/irq/101/smp_affinity_list
37
[root@localhost ~]# cat /proc/irq/100/smp_affinity_list
36
[root@localhost ~]# echo 000f,00000000 > /proc/irq/99/smp_affinity
[root@localhost ~]# echo 0008,00000000 > /proc/irq/98/smp_affinity
[root@localhost ~]# echo 0004,00000000 > /proc/irq/97/smp_affinity
[root@localhost ~]# echo 0002,00000000 > /proc/irq/96/smp_affinity
需要先把irqbalance关闭:
关闭方式:
停止irqbalance服务。
systemctl stop irqbalance.service关闭irqbalance服务。
systemctl disable irqbalance.service查看irqbalance服务状态是否已关闭。
systemctl status irqbalance.service网卡多队列配置脚本:
cat /proc/irq/96/smp_affinity
cat /proc/irq/97/smp_affinity
cat /proc/irq/98/smp_affinity
cat /proc/irq/99/smp_affinity
cat /proc/irq/100/smp_affinity
cat /proc/irq/101/smp_affinity
cat /proc/irq/102/smp_affinity
cat /proc/irq/103/smp_affinitycat /proc/irq/103/smp_affinity_list
cat /proc/irq/102/smp_affinity_list
cat /proc/irq/101/smp_affinity_list
cat /proc/irq/100/smp_affinity_list
cat /proc/irq/99/smp_affinity_list
cat /proc/irq/98/smp_affinity_list
cat /proc/irq/97/smp_affinity_list
cat /proc/irq/96/smp_affinity_list  echo 0080,00000000 > /proc/irq/103/smp_affinity
echo 0040,00000000 > /proc/irq/102/smp_affinity
echo 0020,00000000 > /proc/irq/101/smp_affinity
echo 0010,00000000 > /proc/irq/100/smp_affinity
echo 0008,00000000 > /proc/irq/99/smp_affinity
echo 0004,00000000 > /proc/irq/98/smp_affinity
echo 0002,00000000 > /proc/irq/97/smp_affinity
echo 0001,00000000 > /proc/irq/96/smp_affinity cat /proc/irq/96/smp_affinity
cat /proc/irq/97/smp_affinity
cat /proc/irq/98/smp_affinity
cat /proc/irq/99/smp_affinity
cat /proc/irq/100/smp_affinity
cat /proc/irq/101/smp_affinity
cat /proc/irq/102/smp_affinity
cat /proc/irq/103/smp_affinitycat /proc/irq/103/smp_affinity_list
cat /proc/irq/102/smp_affinity_list
cat /proc/irq/101/smp_affinity_list
cat /proc/irq/100/smp_affinity_list
cat /proc/irq/99/smp_affinity_list
cat /proc/irq/98/smp_affinity_list
cat /proc/irq/97/smp_affinity_list
cat /proc/irq/96/smp_affinity_list

网卡多队列,中断配置相关推荐

  1. 网卡多队列:RPS、RFS、RSS、Flow Director(DPDK支持)

    Table of Contents 多队列简介 RPS介绍(Receive Packet Steering) RFS介绍(Receive flow steering) RSS介绍(receive si ...

  2. linux网卡多队列技术

    本篇文章主要是通过阅读了其他人的文章,后续进行了东拼西凑成自己可以理解的样子.但某些细节方面可以再进行深入研究和学习. 参考: https://www.cnblogs.com/lsgxeva/p/11 ...

  3. Linux网卡多队列学习笔记

    Linux网卡多队列的原理 Linux kernel在2.6.21之前不支持网卡多队列的特性,也就是一个网卡只能申请一个中断号. 在2.6.21开始支持网卡多队列,当网卡驱动加载的时候,通过获取网卡型 ...

  4. 云服务器ECS网卡多队列优化

    背景 在服务器网卡收包发包数量非常大时,在系统繁忙时,如果过多网卡中断集中在单一cpu上导致cpu来不及响应造成网络性能下降,网络性能的瓶颈一般不在网卡而在cpu,现在的网卡很多支持万兆和多队列. 为 ...

  5. 网卡多队列、RSS、RPS、RFS

    1.网卡多队列 网卡升级换代之后,变成了多队列网卡,这个队列指的是供网卡DMA读取的ring buffer,即此时网卡会有多个ring buffer. 当有多个数据包到达网卡时,网卡的微处理器,根据数 ...

  6. linux 网卡多队列设置,网卡多队列

    REF 简单命令 推荐使用较新的 Linux 发行版(如 CentOS 7.2)配置网卡多队列. 这里以 CentOS 7.2 为例介绍如何配置网卡多队列,假设是 2 个队列,网卡 interface ...

  7. STM32单片机外部中断配置讲解

    2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平.低电平).边沿变化(上升沿. ...

  8. CentOS下双网卡单网关路由配置

    CentOS下双网卡单网关路由配置 大 | 中 | 小 [ 所属分类 系统(linux) | 发布者 店小二03 | 时间 20131001 |作者 路人甲 ]0人收藏点击收藏 CentOS下双网卡单 ...

  9. linux 单网卡 路由,CentOS下双网卡单网关路由配置

    CentOS下双网卡单网关路由配置 假定主机的网卡1的IP地址为:219.223.244.233/21,网卡2的IP地址为:219.223.242.216/21单网为:219.223.240.1(这里 ...

最新文章

  1. Mysql使用存储过程快速添加百万数据
  2. 程序员的抱枕也太高大上了吧! | 每日趣闻
  3. 我是如何做到的:不切换 Git 分支,同时在多个分支上工作的?
  4. python爬虫吧-Python爬虫如何爬取贴吧内容
  5. 详解C中volatile关键字
  6. 如何使用计算机模拟函数图像,模拟图像
  7. 云服务器镜像麻烦吗_简单说说云服务器的镜像功能作用
  8. nginx 1.8.1安装使用
  9. css 样式通用样式
  10. POJ3585-Accumulation Degree【树形dp,二次扫描与换根法】
  11. 前端和后端怎么进行数据交互的_前端VS后端
  12. 《复联4》天价票被叫停了?电影局出手了 院线:确实收到口头通知
  13. 如何使用代码给菜单增加图标
  14. 使用opencv实现matlab中的imfill填充孔洞功能
  15. go和python互调
  16. 《数据库系统基础教程》读书笔记——第二章 关系数据模型(1)
  17. 2018.08.17 洛谷P3110 [USACO14DEC]驮运(最短路)
  18. 地理学中的经典统计分析方法
  19. answer的汉语_answers怎么读(answers中文是什么意思)
  20. 快速生成CRUD接口的神器-IDEA插件EasyCode

热门文章

  1. matlab中波浪号~的作用和用法
  2. HTML基础:label标签的for属性
  3. Mac 活动监视器 闪退 发热十分厉害 ssl3.plist
  4. 超级计算机想象作文700字,厉害了,人工智能 想象作文700字
  5. 昨天被一个老乞丐给教训了一番
  6. 图论相关的基本定义(自用)
  7. Linux系统安装详细教程!
  8. endnote参考文献格式
  9. Android从零单排--常见设计模式
  10. 新手开水果店到底赚不赚钱,开水果店一年赚钱大概有多少