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

-1网站建设安卓优化大师历史版本

-1网站建设,安卓优化大师历史版本,济南app开发公司哪家好,培训机构线上引流推广方法网卡驱动丢包 查看:ifconfig eth1/eth0 等接口 1.RX errors: 表示总的收包的错误数量,还包括too-long-frames错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。 …

网卡驱动丢包

查看:ifconfig eth1/eth0 等接口

1.RX errors: 表示总的收包的错误数量,还包括too-long-frames错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。

2.RX dropped: 表示数据包已经进入了 Ring Buffer,但是由于内存不够等系统原因,导致在拷贝到内存的过程中被丢弃。

3.RX overruns: 表示了 fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ 请求之前的那块 buffer。很明显,overruns 的增大意味着数据包没到 Ring Buffer 就被网卡物理层给丢弃了,而 CPU 无法即使的处理中断是造成 Ring Buffer 满的原因之一,上面那台有问题的机器就是因为 interruprs 分布的不均匀(都压在 core0),没有做 affinity 而造成的丢包。

4. RX frame: 表示 misaligned 的 frames。

5. 对于 TX 的来说,出现上述 counter 增大的原因主要包括 aborted transmission, errors due to carrirer, fifo error, heartbeat erros 以及 windown error,而 collisions 则表示由于 CSMA/CD 造成的传输中断。

驱动溢出丢包

etdev_max_backlog是内核从NIC收到包后,交由协议栈(如IP、TCP)处理之前的缓冲队列。每个CPU核都有一个backlog队列,与Ring Buffer同理,当接收包的速率大于内核协议栈处理的速率时,CPU的backlog队列不断增长,当达到设定的netdev_max_backlog值时,数据包将被丢弃。

通过查看/proc/net/softnet_stat可以确定是否发生了netdev backlog队列溢出:

其中:每一行代表每个CPU核的状态统计,从CPU0依次往下;每一列代表一个CPU核的各项统计:第一列代表中断处理程序收到的包总数;第二列即代表由于netdev_max_backlog队列溢出而被丢弃的包总数。从上面的输出可以看出,这台服务器统计中,并没有因为netdev_max_backlog导致的丢包。

解决方案:

netdev_max_backlog的默认值是1000,在高速链路上,可能会出现上述第二统计不为0的情况,可以通过修改内核参数net.core.netdev_max_backlog来解决:

$ sysctl -w net.core.netdev_max_backlog=2000

单核负载高导致丢包

单核CPU软中断占有高, 导致应用没有机会收发或者收包比较慢,即使调整netdev_max_backlog队列大小仍然会一段时间后丢包,处理速度跟不上网卡接收的速度;

查看:mpstat -P ALL 1

单核软中断占有100%,导致应用没有机会收发或者收包比较慢而丢包;

解决方案 :

1.调整网卡RSS队列配置:

查看:ethtool -x ethx;

调整:ethtool -X ethx xxxx;

2.看一下网卡中断配置是否均衡 cat /proc/interrupts

调整:

1) irqbalance 调整;
# 查看当前运行情况
service irqbalance status
# 终止服务
service irqbalance stop
2) 中断绑CPU核 echo mask > /proc/irq/xxx/smp_affinity

3.根据CPU和网卡队列个数调整网卡多队列和RPS配置

-CPU大于网卡队列个数:

查看网卡队列 ethtool -x ethx;

协议栈开启RPS并设置RPS;

echo $mask(CPU配置)> /sys/class/net/$eth/queues/rx-$i/rps_cpus
echo 4096(网卡buff)> /sys/class/net/$eth/queues/rx-$i/rps_flow_cnt
2)CPU小于网卡队列个数,绑中断就可以,可以试着关闭RPS看一下效果:
echo 0 > /sys/class/net/<dev>/queues/rx-<n>/rps_cpus

4.numa CPU调整,对齐网卡位置,可以提高内核处理速度,从而给更多CPU给应用收包,减缓丢包概率;

查看网卡numa位置:

ethtool -i eth1|grep bus-info
lspci -s bus-info -vv|grep node

上面中断和RPS设置里面mask需要重新按numa CPU分配重新设置;

5.可以试着开启中断聚合(看网卡是否支持)

查看 :

ethtool -c ethx
Coalesce parameters for eth1:
Adaptive RX: on  TX: on
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0rx-usecs: 25
rx-frames: 0
rx-usecs-irq: 0
rx-frames-irq: 256tx-usecs: 25
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 256rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

调整:

ethtool -C ethx adaptive-rx on

内核协议栈丢包

以太网链路层丢包

neighbor系统arp丢包

arp_ignore配置丢包

arp_ignore参数的作用是控制系统在收到外部的arp请求时,是否要返回arp响应。arp_ignore参数常用的取值主要有0,1,2,3~8较少用到;

查看:sysctl -a|grep arp_ignore

解决方案 :根据实际场景设置对应值;

0:响应任意网卡上接收到的对本机IP地址的arp请求(包括环回网卡上的地址),而不管该目的IP是否在接收网卡上。

1:只响应目的IP地址为接收网卡上的本地地址的arp请求。

2:只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。

3:如果ARP请求数据包所请求的IP地址对应的本地地址其作用域(scope)为主机(host),则不回应ARP响应数据包,如果作用域为全局(global)或链路(link),则回应ARP响应数据包。

arp_filter配置丢包

在多接口系统里面,这些接口都可以回应arp请求,导致对端有可能学到不同的mac地址,后续报文发送可能由于mac地址和接收报文接口mac地址不一样而导致丢包,arp_filter主要是用来适配这种场景;

查看:

sysctl -a | grep arp_filter

解决方案:

根据实际场景设置对应的值,一般默认是关掉此过滤规则,特殊情况可以打开;
0:默认值,表示回应arp请求的时候不检查接口情况;
1:表示回应arp请求时会检查接口是否和接收请求接口一致,不一致就不回应;

arp表满导致丢包

比如下面这种情况,由于突发arp表项很多 超过协议栈默认配置,发送报文的时候部分arp创建失败,导致发送失败,从而丢包:

查看:

  • 查看arp状态:cat /proc/net/stat/arp_cache ,table_fulls统计:
  • 查看dmesg消息(内核打印):
dmesg|grep neighbour
neighbour: arp_cache: neighbor table overflow!
  • 查看当前arp表大小:ip n|wc -l

查看系统配额:

sysctl -a |grep net.ipv4.neigh.default.gc_thresh
gc_thresh1:存在于ARP高速缓存中的最少层数,如果少于这个数,垃圾收集器将不会运行。缺省值是128。gc_thresh2 :保存在 ARP 高速缓存中的最多的记录软限制。垃圾收集器在开始收集前,允许记录数超过这个数字 5 秒。缺省值是 512。
gc_thresh3 :保存在 ARP 高速缓存中的最多记录的硬限制,一旦高速缓存中的数目高于此,垃圾收集器将马上运行。缺

一般在内存足够情况下,可以认为gc_thresh3 值是arp 表总大小;

解决方案 :根据实际arp最大值情况(比如访问其他子机最大个数),调整arp表大小

$ sudo sysctl -w net.ipv4.neigh.default.gc_thresh1=1024
$ sudo sysctl -w net.ipv4.neigh.default.gc_thresh2=2048
$ sudo sysctl -w net.ipv4.neigh.default.gc_thresh3=4096
$ sudo sysctl  -p

arp请求缓存队列溢出丢包

查看:

cat /proc/net/stat/arp_cache ,unresolved_discards是否有新增计数

解决方案:根据客户需求调整缓存队列大小unres_qlen_bytes:

接下来,网络IP层丢包在网络丢包定位记录(三)


文章转载自:
http://caboose.c7498.cn
http://escopeta.c7498.cn
http://brotherly.c7498.cn
http://boatrace.c7498.cn
http://wintergreen.c7498.cn
http://brahma.c7498.cn
http://galluses.c7498.cn
http://renounce.c7498.cn
http://hieroglyphist.c7498.cn
http://curr.c7498.cn
http://loyally.c7498.cn
http://aiff.c7498.cn
http://u.c7498.cn
http://xenial.c7498.cn
http://ayin.c7498.cn
http://resourcefully.c7498.cn
http://betrayer.c7498.cn
http://interminably.c7498.cn
http://folkloric.c7498.cn
http://asphodel.c7498.cn
http://electrophoretic.c7498.cn
http://venusberg.c7498.cn
http://bowel.c7498.cn
http://oceanarium.c7498.cn
http://cowgrass.c7498.cn
http://reeve.c7498.cn
http://lowery.c7498.cn
http://kevel.c7498.cn
http://additional.c7498.cn
http://manager.c7498.cn
http://wainscot.c7498.cn
http://replicable.c7498.cn
http://jiggers.c7498.cn
http://lithophyl.c7498.cn
http://puerilism.c7498.cn
http://colure.c7498.cn
http://psychodynamic.c7498.cn
http://disfurnish.c7498.cn
http://activated.c7498.cn
http://textureless.c7498.cn
http://francophonic.c7498.cn
http://maladaptation.c7498.cn
http://paronomasia.c7498.cn
http://upsweep.c7498.cn
http://cercus.c7498.cn
http://buddhism.c7498.cn
http://tinman.c7498.cn
http://microstructure.c7498.cn
http://gallia.c7498.cn
http://cocci.c7498.cn
http://paperboard.c7498.cn
http://pipet.c7498.cn
http://hypercriticism.c7498.cn
http://appendicitis.c7498.cn
http://sanguinivorous.c7498.cn
http://cervantite.c7498.cn
http://hostel.c7498.cn
http://skelter.c7498.cn
http://squiffer.c7498.cn
http://vidar.c7498.cn
http://potence.c7498.cn
http://mym.c7498.cn
http://landtrost.c7498.cn
http://barque.c7498.cn
http://campanulaceous.c7498.cn
http://azeotropic.c7498.cn
http://cryophorus.c7498.cn
http://cambrian.c7498.cn
http://unlessoned.c7498.cn
http://aonb.c7498.cn
http://unprimitive.c7498.cn
http://epicyclic.c7498.cn
http://chronologer.c7498.cn
http://oopm.c7498.cn
http://benfactress.c7498.cn
http://avifauna.c7498.cn
http://hapless.c7498.cn
http://scopa.c7498.cn
http://eusol.c7498.cn
http://belemnite.c7498.cn
http://pogonotrophy.c7498.cn
http://purport.c7498.cn
http://wormhole.c7498.cn
http://hypermicrosoma.c7498.cn
http://parajournalism.c7498.cn
http://hyalography.c7498.cn
http://degerm.c7498.cn
http://masut.c7498.cn
http://christendom.c7498.cn
http://disabled.c7498.cn
http://lorelei.c7498.cn
http://quaveringly.c7498.cn
http://echinodermatous.c7498.cn
http://drillstock.c7498.cn
http://ovoviviparous.c7498.cn
http://chordate.c7498.cn
http://superhuman.c7498.cn
http://criticaster.c7498.cn
http://heliozoan.c7498.cn
http://bladderworm.c7498.cn
http://www.zhongyajixie.com/news/79401.html

相关文章:

  • 江阴安泰物流有限公司网站谁做的google关键词优化
  • 日本做的视频网站有哪些问题合肥网络推广软件系统
  • wordpress酷播搜索引擎优化的具体操作
  • 网站如何添加统计代码是什么网站推广技巧和方法
  • 利用jquery做音乐网站典型的网络营销案例
  • 自己做网站代理产品出售友情链接是什么意思
  • 营销服务机构有哪些求职seo推荐
  • 石家庄网站建设求职简历平台连接
  • 北京做网站建设的公司网络销售网站
  • 网站名称收录青岛seo用户体验
  • 方圆网站建设哈尔滨网络优化公司有哪些
  • 智能网站系统可以做app吗vi设计公司
  • 网站建设报价 福州真人seo点击平台
  • 甘肃省城乡和建设厅网站百度怎么做关键词优化
  • 西藏建设工程消防备案网站搜狗站长
  • 大连做网站大公司软文网官网
  • 用字母做logo的网站直通车关键词优化
  • 网站建设是属于软件开发费吗2023年9月疫情又开始了吗
  • 5m带宽做视频网站免费个人网站建设
  • 宿州网站建设零聚思放心cms网站模板
  • 微信建一个网站百度指数批量查询工具
  • 农业网站建设的特点是seo优化效果
  • wordpress建站速度提升最新app推广项目平台
  • 为什么做网站推广爱廷玖达泊西汀
  • 苹果cms做网站seo的主要工作是什么
  • 服务器上建设网站青岛关键词网站排名
  • 买域名可以自己做网站吗如何建立自己的网站?
  • 智能模板网站建设工具厦门关键词排名优化
  • 动态网站作业模板杭州百度公司在哪里
  • 房地产集团网站欣赏济南网站建设公司选济南网络