R系组播调优方案

  • 修改/etc/sysctl.conf添加如下内容:

  Vim    /etc/sysctl.con

net.ipv4.ip_forward=1

net.ipv4.ip_nonlocal_bind=1

net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.default.rp_filter=0

net.bridge.bridge-nf-call-arptables = 0

net.bridge.bridge-nf-call-ip6tables = 0

net.bridge.bridge-nf-call-iptables = 0

net.ipv4.tcp_syncookies=1

net.ipv4.ip_local_port_range=1024 65535

net.ipv4.tcp_fin_timeout=30

net.ipv4.tcp_timestamps=1

net.ipv4.tcp_tw_recycle=0

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_max_tw_buckets=262144

net.ipv4.tcp_max_orphans=3276800

net.ipv4.tcp_max_syn_backlog=819200

net.ipv4.tcp_keepalive_intvl=30

net.ipv4.tcp_keepalive_probes=3

net.ipv4.tcp_keepalive_time=1200

net.ipv4.udp_mem=945000000 9150000000 9270000000

net.ipv4.udp_rmem_min=409600

net.ipv4.udp_wmem_min=409600

net.netfilter.nf_conntrack_tcp_timeout_established=600

net.netfilter.nf_conntrack_max=655350

net.core.netdev_max_backlog=500000

net.core.somaxconn=65535

net.core.rmem_default=83886080

net.core.wmem_default=83886080

net.core.rmem_max=167772160

net.core.wmem_max=167772160

net.ipv4.tcp_mem=94500000 915000000 927000000

net.ipv4.tcp_rmem=4096 87380 16777216

net.ipv4.tcp_wmem=4096 16384 16777216

net.ipv4.tcp_thin_dupack=1

net.ipv4.tcp_thin_linear_timeouts=1

net.unix.max_dgram_qlen=3000

kernel.panic=1

kernel.core_pattern=core_%e

kernel.sysrq=0

kernel.msgmax=65535

kernel.msgmnb=65535

kernel.shmmax=30923764530

kernel.shmall=7549746

kernel.watchdog_thresh = 30

vm.panic_on_oom=1

vm.min_free_kbytes=1048576

vm.swappiness=20

fs.inotify.max_user_watches=8192000

fs.aio-max-nr=1048576

fs.file-max=1048575

kernel.hung_task_panic = 0

kernel.hung_task_timeout_secs = 600

二、修改系统资源配置文件 /etc/security/limits.conf 文件添加如下内容:

root            soft    core            1000

root            hard    core            unlimited

root          soft     nofile       655350

root          hard   nofile       655350

root          soft     nproc       655350

root          hard   nproc       655350

root            soft    memlock         unlimited

root            hard    memlock         unlimited

root            soft    stack           unlimited

root            hard    stack           unlimited

root            soft    sigpending      1024000

root            hard    sigpending      1024000

  • 修改cpu工作模式,需要调整到高性能模式
  1. 执行xx.sh脚本 开启高性能模式 ,脚本内容如下:

Sh  ./xx.sh

for i in `cat /proc/cpuinfo |grep process | awk '{print $3}'`

do

  echo performance > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor

done

2.执行xxx.sh 脚本 调整CPU状态,脚本内容如下

Sh  ./xxx.sh

#!/bin/bash

i=0

j=1

CPU_NUM=`cat /proc/cpuinfo |grep MHz |wc -l`

while [ $i -lt $CPU_NUM ]

do

 j=1

 while [ $j -lt 4 ]

 do

echo 1 > /sys/devices/system/cpu/cpu$i/cpuidle/state$j/disable

 j=`expr $j + 1`

 done

 i=`expr $i + 1`

 done

  • 如果是万兆网卡会需要安装网卡驱动 以下以Intel 82599芯片网卡类型演示安装网卡驱动
  1. inter官网下载网卡驱动源码包。此处用到的网卡驱动包版本为ixgbe-5.3.7
  2. 解压缩驱动包 

 tar xf ixgbe-5.3.7.tar.gz

  1. 进入解压之后的目录里的src目录  

 cd    ixgbe-5.3.7/src

  1. 编译安装  

 make && make install

  1. 重新生成initramfs文件 

cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img_bak

dracut /boot/initramfs-$(uname -r).img  $(uname -r)  --force

  1. 重新加载 ixgbe 模块

rmmod  ixgbe

Modprobe  ixgbe

加载完之后可以通过  ethtool -i  xxx (网卡名)  命令查看驱动是否安装成功

  1. 重启网卡服务

      systemctl restart network

  • 修改网卡缓冲区以及网卡多队列

  ethtool -G  ens106  rx 4096 tx 4096

  ethtool -L  ens106   combined 1

ens106 具体的某块网卡名,一般我们会给当前所有的网卡缓冲区和队列都统一修改,使用以下命令即可:

for i in `ifconfig  |grep RUNNING |grep -v lo|grep -v bond |awk -F :  '{print $1}'`;do

        ethtool -G $i rx 4096 tx 4096;

        ethtool -L $i combined 1;

done

  • 绑核方法说明:

taskset  -c  12(此处为cpu号)    ./xxxx  (此处为需要绑核的脚本或命令)

例如:

taskset  -c 16   ./udptest

  • 组播需要用到的交换机配置

  

  • 已有的组播测试结果记录

   浪潮服务器:

硬件环境:服务器:NF5280M5  cpu型号:Inter Xeon Gold 6154@3.10Ghz 网卡芯片:82599

系统环境为:Kylin-4.0.2-server-sp2-18072308.ZJ2-x86_64-2018-07-20

内核版本为:3.10.0-862

经过调优后:稳定性测试100小时可以跑到4.1G流量丢包率在10的负7次方以下

极限测试10分钟可以跑到7.1G流量不丢包

华为服务器:

硬件环境:服务器:2288Hv5  cpu型号:Inter Xeon Gold 6154@3.10Ghz 网卡芯片:82599

系统环境为:Kylin-4.0.2-server-sp2-18072308.ZJ2-x86_64-2018-07-20

内核版本为:3.10.0-862

经过调优后:稳定性测试100小时可以跑到4.1G流量丢包率在10的负7次方以下

极限测试10分钟可以跑到8.0G流量不丢包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之基于Pytorch框架的MNIST手写数字识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 MNIST是一个手写数字识别的数据集,是深度学习中最常用的数据集之一。基于Pytorch框架的MNIST手写数字识…

腾讯云3年期轻量应用服务器优惠(薅羊毛教程)

腾讯云轻量应用服务器特价是有新用户限制的,所以阿腾云建议大家选择3年期轻量应用服务器,一劳永逸,免去续费困扰。腾讯云轻量应用服务器3年优惠可以选择2核2G4M和2核4G5M带宽,3年轻量2核2G4M服务器540元,2核4G5M轻量应…

Python实用技巧:将 Excel转为PDF

将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现Excel转PDF的简单方法。 实现步骤 首先,通过pip命令来安装依…

AWS云服务器EC2实例进行操作系统迁移

AWS云服务器EC2实例进行操作系统迁移 文章目录 AWS云服务器EC2实例进行操作系统迁移1. 亚马逊EC2云服务器简介1.2 亚马逊EC2云务器与弹性云服务器区别 2. 亚马逊EC2云服务器配置流程2.1 亚马逊EC2云服务器实例配置2.1.1 EC2实例购买教程2.1.1 EC2实例初始化配置2.1.2 远程登录E…

Python基础入门例程51-NP51 列表的最大与最小(循环语句)

最近的博文: Python基础入门例程50-NP50 程序员节(循环语句)-CSDN博客 Python基础入门例程49-NP49 字符列表的长度-CSDN博客 Python基础入门例程48-NP48 验证登录名与密码(条件语句)-CSDN博客 目录 最近的博文&…

Postman —— post请求数据类型

1、Postman中post的数据类型 post中有以下数据类型 1、form-data 2、x-www-form-urlencoded 3、raw 4、binary 2、Postman请求不同的post数据类型 from-data multipart/form-data,它将表单的数据组织成Key-Value形式,也可以上传文件,当…

Python基础入门例程52-NP52 累加数与平均值(循环语句)

最近的博文: Python基础入门例程51-NP51 列表的最大与最小(循环语句)-CSDN博客 Python基础入门例程50-NP50 程序员节(循环语句)-CSDN博客 Python基础入门例程49-NP49 字符列表的长度-CSDN博客 目录 最近的博文: 描述 输入描…

【计算机网络基础实验】实验二 有线IP互通网络实践

任务一 IP路由协议实现企业路由器通信 目录如下: 任务一 IP路由协议实现企业路由器通信2.1.1 任务描述2.1.2 任务目的2.1.3 任务实施实验需求实验步骤步骤1:更改每台设备的名称步骤2: 给R1接口配置相应IP地址步骤3: 给R2接口配置相…

华为ensp:rip宣告

ip全部配置好 R1 进入r1视图模式 rip network 192.168.1.0 network 1.0.0.0 R2 进入r2视图模式 rip network 192.168.2.0 network 1.0.0.0 这样就完成了宣告 display ip routing-table 查看路由表

Postman使用json提取器和正则表达式实现接口的关联

近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。 一)使用json提取器实现接口关联 实际项目场景,在财务信息页面,需要上传一个营业执照&…

C++进阶-STL set/multiset容器和map容器的简单认识

set/multiset容器的简单认识 set基本概念set与multiset 的区别:set容器的构造和赋值set容器的大小和交换set容器的插入与删除set容器的查找和统计set容器-set和multiset的区别set容器内置类型指定排序规则set容器自定义数据类型指定排序规则 pair对组创建map容器的基…

【3年轻量】腾讯云2核2G4M和2核4G5M服务器配置优惠价格表

腾讯云轻量应用服务器特价是有新用户限制的,所以阿腾云建议大家选择3年期轻量应用服务器,一劳永逸,免去续费困扰。腾讯云轻量应用服务器3年可以选择2核2G4M和2核4G5M带宽,3年轻量2核2G4M服务器540元,2核4G5M轻量应用服…

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群 Redis 的多种模式Redis-Alone 单机模式Redis 单机模式的优缺点 Redis 高可用集群模式Redis-Master/Slaver 主从模式Redis-Master/Slaver 哨兵模式哨兵模式监控的原理Redis 节点主客观下线标记Redis 节点主客观…

django建站过程(4)创建文档显示页面

django建站过程(4)创建文档显示页面 创建文档显示页面项目主文件夹schoolapps中的文件urls.py在APP“baseapps”中创建url.py文件编写视图模板继承bootstrap创建head.html创建doclist.html创建docdetail.html 使用 markdown 编辑器安装模块Model 模型的d…

Azure 机器学习 - 机器学习中的企业安全和治理

目录 限制对资源和操作的访问网络安全性和隔离数据加密数据渗透防护漏洞扫描审核和管理合规性 在本文中,你将了解可用于 Azure 机器学习的安全和治理功能。 如果管理员、DevOps 和 MLOps 想要创建符合公司策略的安全配置,那么这些功能对其十分有用。 通过…

Unity中全局光照GI的总结

文章目录 前言一、在编写Shader时,有一些隐蔽的Bug不会直接报错,我们需要编译一下让它显示出来,方便修改我们选择我们的Shader,点击编译并且展示编译后的Shader后的内容,隐蔽的Bug就会暴露出来了。 二、我们大概回顾一…

【Python大数据笔记_day06_Hive】

hive内外表操作 建表语法 create [external] table [if not exists] 表名(字段名 字段类型 , 字段名 字段类型 , ... ) [partitioned by (分区字段名 分区字段类型)] # 分区表固定格式 [clustered by (分桶字段名) into 桶个数 buckets] # 分桶表固定格式 注意: 可以排序[so…

红队系列-IOT安全深入浅出

红队专题 设备安全概述物联网设备层次模型设备通信模型 渗透测试信息收集工具 实战分析漏洞切入点D-link 850L 未授权访问 2017 认证绕过认证绕过 D-link DCS-2530Ltenda 系列 路由器 前台未授权RTSP 服务未授权 访问 弱口令命令注入思科 路由器 固件二进制 漏洞 IoT漏洞-D-Lin…

OpenCV C++ 图像处理实战 ——《多二维码识别》

OpenCV C++ 图像处理实战 ——《多二维码识别》 一、结果演示二、zxing库配置2.1下载编译三、多二维码识别3.1 Method one3.1.1 源码3.2 Method two3.2.1 源码四、源码测试图像下载总结一、结果演示 </

ES6学习

let和const命名 let基本用法-块级作用域 在es6中可以使用let声明变量&#xff0c;用法类似于var ⚠️ let声明的变量&#xff0c;只在let命令所在的代码块内有效 {let a 10;var b 20; } console.log(a); //a is not defined console.log(b); //20不存在变量提升 var命令…