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流量不丢包

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【踩坑】Putty报错: Can’t agree a key change algorithm

原因可能是putty版本太老了,更新putty就好了 下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 根据需要选择自己想要下载的版本,我是下载的如下图所示的版本。 另外,了解了一下Putty是用来远程连接…

用excel计算一个矩阵的逆矩阵

假设我们的原矩阵是一个3*3的矩阵: 125346789 我们现在要求该矩阵的逆矩阵: 鼠标点到其它空白的地方,用来存放计算结果: 插入-》函数: 选择MINVERSE函数,这个就是求逆矩阵的函数: 点击“继续…

怎么改变容易紧张的性格?

容易紧张的性格是比较通俗的说法,在艾森克人格测试中,容易紧张的性格就属于神经症人格,神经质不是神-经-病,而是一种人格特征,这种特征包括:敏感,情绪不稳定,易焦虑和紧张。有兴趣的…

中国电子学会2023年09月份青少年软件编程Python等级考试试卷六级真题(含答案)

2023-09 Python六级真题 分数:100 题数:38 测试时长:60min 一、单选题(共25题,共50分) 1. 以下选项中,不是tkinter变量类型的是?(D )(2分) A.IntVar() B.StringVar() C.Do…

Redis缓存穿透、击穿和雪崩

文章目录 前言一、缓存穿透(查不到)1.概念2.解决方案布隆过滤器缓存空对象 二、缓存击穿(量太大,缓存过期!)1.概述2.解决方案1.设置热点数据永不过期2.加互斥锁 三、缓存雪崩1.概念2.解决方案1.redis高可用…

Xilinx DDR3 MIG系列——ddr3控制器的时钟架构

本节目录 一、ddr3控制器的时钟架构 1、PLL输入时钟——系统时钟system_clk 2、PLL输出时钟——sync_pulse、mem_refclk、freq_refclk、MMCM1的输入时钟 3、MMCM1的输入时钟和输出时钟 4、MMCM2的输入时钟和输出时钟一、ddr3控制器的时钟架构 对于FPGA开发来说,调用IP或者移植…

PHP开源自动化平台CRUD代码生成器

生成CRUD(创建、读取、更新、删除)代码的实现方式有很多种, 一、实现方式 1. 定义数据模型:首先需要定义数据模型,包括表结构、字段以及数据类型等。 2. 自动生成数据库表:根据数据模型,使用数…

利用爬虫采集外卖数据进行竞争对手分析

目录 一、引言 二、准备工作 三、爬取数据 四、数据处理与存储 五、竞争对手分析 六、结论与展望 一、引言 在当今的数字化时代,数据已经成为企业成功的关键因素之一。对于餐饮外卖行业来说,数据的收集和分析尤为重要。通过对竞争对手的数据进行采…

【LeetCode刷题笔记】滑动窗口

992. K 个不同整数的子数组 解题思路: 滑动窗口 , 题目问题转化为: 求 「最多存在 K 个不同整数的子数组的个数」 与 「最多存在 K - 1 个不同整数的子数组的个数」 之差, 就是题目所求的 「恰好存在 K 个不同整数的子数组的个数」 , 最终问题就变成求解滑动窗口内,以 R …

webpack工作原理

目录 合并代码模块化webpack 的打包webpack 的结构webpack 的源码addEntry 和 _addModuleChainbuildModuleCompilation 的钩子产出构建结果 了解 webpack 实现原理,掌握 webpack 基础的工作流程,在平时使用 webpack 遇见问题时,能够帮助我们洞…

2015年计网408

第33题 通过 POP3 协议接收邮件时, 使用的传输层服务类型是( ) A. 无连接不可靠的数据传输服务 B. 无连接可靠的数据传输服务 C. 有连接不可靠的数据传输服务 D. 有连接可靠的数据传输服务 本题考察邮件接收协议POP3使用的运输层服务类型。 如图所示。接收方用户代理使用pop…

Typora-PicGo-七牛云图床

Typora-PicGo-七牛云图床 问题描述: 每次使用Typora写完笔记后,想要将笔记上传至CSDN会发现一个问题,由于没有配置图床,笔记中的图片需要一张一张的上传到CSDN,非常麻烦,若使用PicGo并搭配七牛云的10G免费…

Spring Security使用总结五,加密用户密码,不再使用明文保存密码

上一章我们成功的注册了一个新用户,按照正常逻辑来说,这一章应该是登录了,但是我们也看到了,这数据库保存的居然是明文密码,这谁受得了,这要是用户信息泄露了,这不让人一锅端了啊,还…

Java编程--单例模式(饿汉模式/懒汉模式)/阻塞队列

前言 逆水行舟,不进则退!!! 目录 单例模式 饿汉模式: 懒汉模式: 什么是阻塞队列 什么是高内聚 低耦合 阻塞队列的实现 单例模式 单例模式(Singleton Pattern)是一种常见…

代码随想录算法训练营第四十八天丨 动态规划part11

123.买卖股票的最佳时机III 思路 这道题目相对 121.买卖股票的最佳时机 (opens new window)和 122.买卖股票的最佳时机II (opens new window)难了不少。 关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。 接来下我…

(SpringBoot)第五章:SpringBoot创建和使用

文章目录 一:Spring和SpringBoot(1)Spring已解决和未解决的问题(2)SpringBoot 二:Spring项目的创建(1)IDEA创建(2)网页端创建 三:项目目录介绍及运…

Mac媒体播放器 Fig Player 1.3.7

Fig Player是一款功能强大的多媒体播放器软件,适用于macOS操作系统。它支持广泛的音频和视频格式,如MP3、MP4、AVI、MKV等,并提供了直观易用的用户界面,使用户可以轻松浏览和管理媒体库。 Fig Player具有快速加载和播放媒体文件的…

人机交互——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

用excel计算矩阵的乘积

例如,我们要计算两个矩阵的乘积, 第一个矩阵是2*2的: 1234 第2个矩阵是2*3的: 5697810 在excel中鼠标点到其它空白的地方,用来存放矩阵相乘的结果: 选择插入-》函数: 选中MMULT,…

PHP生成pdf格式准考证带照片完整示范

PDF效果图 PHP生成pdf格式准考证带照片完整示范以某省公务员考试下载的准考证模板为模板参考,故很有参考意义。 环境支持:linux PHP(5.5-7.3)环境,推荐宝塔环境。 基于fpdf.php插件开发,现有模板适合准考证生成并用于查询下载。 现有排版简单:替换data文…