当前位置: 首页 > news >正文

高并发、大流量网卡调优 _转

http://navyaijm.blog.51cto.com/4647068/1334671

 

周五晚上LVS集群的一台LB由于CPU单核耗尽挂掉了,最后查到原因是网卡调优没有生效,今天查了一下网卡调优的资料,感谢同事higkoo给我讲解了一下这方面的东西,下面是关于我们公司网卡调优的相关知识,欢迎大家共同探讨,让我们的机器跑的更high。

1、Broadcom的网卡建议关闭GRO功能

1
2
3
4
ethtool -K eth0 gro off
ethtool -K eth1 gro off
ethtool -K eth2 gro off
ethtool -K eth3 gro off

2、关闭irqbalance服务并手动分配网卡中断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
service irqbalance stop
chkconfig irqbalance off
# 查看网卡中断号
grep ethx /proc/interrupts
# 分配到每颗颗CPU核上
cat /proc/irq/ {84,85,86,87,88,89,90,91,92,93} /smp_affinity (下面 echo 的值从此获取)
echo 1 > /proc/irq/84/smp_affinity
echo 2 > /proc/irq/85/smp_affinity
echo 4 > /proc/irq/86/smp_affinity
echo 8 > /proc/irq/87/smp_affinity
echo 10 > /proc/irq/88/smp_affinity
echo 20 > /proc/irq/89/smp_affinity
echo 40 > /proc/irq/90/smp_affinity
echo 80 > /proc/irq/91/smp_affinity
echo 100 > /proc/irq/92/smp_affinity
echo 200 > /proc/irq/93/smp_affinity

3、开启网卡的RPS功能 (Linux内核2.6.38或以上版本支持)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Enable RPS (Receive Packet Steering)
rfc=4096
cc=$( grep -c processor /proc/cpuinfo )
rsfe=$( echo $cc*$rfc | bc )
sysctl -w net.core.rps_sock_flow_entries=$rsfe
for fileRps in $( ls /sys/class/net/eth * /queues/rx- * /rps_cpus )
do
echo fff > $fileRps
done
for fileRfc in $( ls /sys/class/net/eth * /queues/rx- * /rps_flow_cnt )
do
echo $rfc > $fileRfc
done
tail /sys/class/net/eth * /queues/rx- */{rps_cpus,rps_flow_cnt}

献上一个完整的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
vi /opt/sbin/change_irq .sh
#!/bin/bash
ethtool -K eth0 gro off
ethtool -K eth1 gro off
ethtool -K eth2 gro off
ethtool -K eth3 gro off
service irqbalance stop
chkconfig irqbalance off
cat /proc/irq/ {84,85,86,87,88,89,90,91,92,93} /smp_affinity
echo 1 > /proc/irq/84/smp_affinity
echo 2 > /proc/irq/85/smp_affinity
echo 4 > /proc/irq/86/smp_affinity
echo 8 > /proc/irq/87/smp_affinity
echo 10 > /proc/irq/88/smp_affinity
echo 20 > /proc/irq/89/smp_affinity
echo 40 > /proc/irq/90/smp_affinity
echo 80 > /proc/irq/91/smp_affinity
echo 100 > /proc/irq/92/smp_affinity
echo 200 > /proc/irq/93/smp_affinity
# Enable RPS (Receive Packet Steering)
rfc=4096
cc=$( grep -c processor /proc/cpuinfo )
rsfe=$( echo $cc*$rfc | bc )
sysctl -w net.core.rps_sock_flow_entries=$rsfe
for fileRps in $( ls /sys/class/net/eth * /queues/rx- * /rps_cpus )
do
echo fff > $fileRps
done
for fileRfc in $( ls /sys/class/net/eth * /queues/rx- * /rps_flow_cnt )
do
echo $rfc > $fileRfc
done
tail /sys/class/net/eth * /queues/rx- */{rps_cpus,rps_flow_cnt}
chmod +x /opt/sbin/change_irq .sh
echo "/opt/sbin/change_irq.sh" >> /etc/rc . local
PS:记得修改网卡中断号,别直接拿来用哦

转载于:https://www.cnblogs.com/kaka100/p/3455609.html

相关文章:

  • 自建CDN防御DDoS(3):架构的后续改进
  • 3d
  • 子网划分
  • 网络推广经验:网站需必备的四要素体现!
  • 批量设置某些通讯组的属性或权限
  • 如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
  • 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用WebSecurity类的任何其他方法。...
  • URL Management(网址管理)
  • #ifdef 的技巧用法
  • 今日工作总结和心情
  • 平台框架开发的好莱坞大明星原则
  • Python学习笔记 第二课 循环
  • 怎么设置共享文件夹
  • CentOS6.*挂载读写NTFS分区
  • 也谈谈网页上的微创新(多图:百度、淘宝、腾讯等)
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Angular 2 DI - IoC DI - 1
  • ES6系统学习----从Apollo Client看解构赋值
  • java中具有继承关系的类及其对象初始化顺序
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Magento 1.x 中文订单打印乱码
  • magento 货币换算
  • PAT A1092
  • Solarized Scheme
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 前端攻城师
  • 山寨一个 Promise
  • 思否第一天
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 我与Jetbrains的这些年
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 交换综合实验一
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #laravel 通过手动安装依赖PHPExcel#
  • #考研#计算机文化知识1(局域网及网络互联)
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (solr系列:一)使用tomcat部署solr服务
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (一)Neo4j下载安装以及初次使用
  • (已解决)什么是vue导航守卫
  • (译)2019年前端性能优化清单 — 下篇
  • (转)JAVA中的堆栈
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • *p++,*(p++),*++p,(*p)++区别?
  • .htaccess配置常用技巧