深圳二手房在售房源量持续增加,全面的seo网站优化排名,企业高端wordpress主题,烟台网站建设方案咨询了解更多银河麒麟操作系统全新产品#xff0c;请点击访问
麒麟软件产品专区#xff1a;product.kylinos.cn
开发者专区#xff1a;developer.kylinos.cn
文档中心#xff1a;document.kylinos.cn
交流论坛#xff1a;forum.kylinos.cn 服务器环境以及配置
【内核版本…了解更多银河麒麟操作系统全新产品请点击访问
麒麟软件产品专区product.kylinos.cn
开发者专区developer.kylinos.cn
文档中心document.kylinos.cn
交流论坛forum.kylinos.cn 服务器环境以及配置
【内核版本】
4.19.90-25.22.v2101.ky10.x86_64
【OS镜像版本】
银河麒麟高级服务器操作系统
Kylin Linux Advanced Server release V10 (SP2) /(Sword)-x86_64-Build09/20210524
现象描述
服务器业务访问很慢可能存在网卡丢包交换机侧有收到反压帧有反压帧说明服务器网卡的接收缓存区可能满了。
网卡品牌是Mellanox有多个优先级缓存区8个优先级0-7。目前通过ethtool -S查看发现rx_prio0_buf_discard值很大不为0。但是rx_out_of_buffer为0。 关于迈络思网卡有几个问题
数据包到服务器网卡到底走哪个优先级缓存区因为有8个走哪个缓存区是网卡判定的还是操作系统判定的还是说交换机上面控制的如果某个优先级的缓存区满了继续有包过来是不是会丢弃还是说等待排队如果这个优先级的缓存区没有开启PFC功能是不是数据包就会丢弃迈洛思网卡是不是可以调整各个优先级的缓存区大小通过命令mlnx_qos -i 网卡名 --buffer_size,这个调整是不是调整的网卡的硬件缓存区大小
现象分析
现象1分析
数据包到服务器网卡走哪个优先级缓存区由报文DSCP和网卡配置决定。
通过mlnx_qos工具将不同DSCP绑定到不同优先级缓存区以设置具备不同DSCP的报文走哪个优先级缓存区。
DSCPDifferentiated Services Code Point差分服务代码点是一种用于网络报文优先级分类的标记使用每个数据包IP头部的TOS字段进行标识通过不同的编码值来区分不同优先级。
用户可以将不同DSCP绑定到网卡不同的接收缓冲区。网卡收到某个报文后从IP头部读取DSCP值根据DSCP值和网卡配置规则确定该报文进入哪个硬件缓存区。
现象2分析
如果某个优先级的缓存区满了后续包的处理逻辑受PFC优先级流量控制功能影响
若开启了PFC功能处理过程如下
接收该报文并向对端发送PFC PAUSE帧通知对端设备暂时停止发送该类报文对端设备在接收到PFC PAUSE帧后将暂时停止向本端发送该类报文当拥塞仍然存在时此过程将重复进行直至拥塞解除。
需要注意必须保证本端和对端的PFC功能都处于开启状态PFC功能才能生效。PFC中流量暂停只针对某一个或几个优先级队列不针对整个接口进行中断每个队列都能单独进行暂停或重启而不影响其他队列上的流量。
若没有开启PFC功能处理过程如下
系统不进行反压处理即在发生拥塞时直接丢弃报文。
现象3分析
迈洛思网卡可以调整缓存区大小。
通过迈络思官方文档可以查到通过命令“mlnx_qos -i 网卡名 --buffer_size sizelist”来设置接收缓冲区大小如下说明 图2 迈络思参数说明
官方文档链接
https://enterprise-support.nvidia.com/s/article/mlnx-qos