searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Linux中UDP性能调优

2024-09-02 09:51:06
74
0

一、背景

在使用iperf和iperf3进行udp的性能测试时,发现有大量丢包现象。

二、分析和参数调优

在server端通过netstat -su查看均在receive buffer errors丢包,说明数据包已经到server端,只是socket buffer满了导致丢包
通过sysctl -w net.core.rmem_max=26214400(单位为字节)的方式调整系统的最大socket buffer
在iperf的server端使用-w 4M的方式调整server端使用的socket buffer解决丢包问题(iperf3没有server端调整socket buffer的参数,只有client端有相关参数,实际不起效果)
其他参数调整,通过sysctl -w net.core.rmem_default = 212992(单位为字节)的方式调整系统默认的socket buffer,其中 rmem_default不能超过 rmem_max 
 
通过sysctl -w net.ipv4.udp_mem="262144 327680 393216",用于增加最大可分配的 UDP 缓冲区空间总量,数值以页面为单位,每个页面单位等于4096 bytes

 

0条评论
0 / 1000
技术成就未来
8文章数
0粉丝数
技术成就未来
8 文章 | 0 粉丝
原创

Linux中UDP性能调优

2024-09-02 09:51:06
74
0

一、背景

在使用iperf和iperf3进行udp的性能测试时,发现有大量丢包现象。

二、分析和参数调优

在server端通过netstat -su查看均在receive buffer errors丢包,说明数据包已经到server端,只是socket buffer满了导致丢包
通过sysctl -w net.core.rmem_max=26214400(单位为字节)的方式调整系统的最大socket buffer
在iperf的server端使用-w 4M的方式调整server端使用的socket buffer解决丢包问题(iperf3没有server端调整socket buffer的参数,只有client端有相关参数,实际不起效果)
其他参数调整,通过sysctl -w net.core.rmem_default = 212992(单位为字节)的方式调整系统默认的socket buffer,其中 rmem_default不能超过 rmem_max 
 
通过sysctl -w net.ipv4.udp_mem="262144 327680 393216",用于增加最大可分配的 UDP 缓冲区空间总量,数值以页面为单位,每个页面单位等于4096 bytes

 

文章来自个人专栏
云网络技术架构和产品
8 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0