当前位置: 首页 > 网络应用技术

[linux]问题和解决方案的原因和解决方案

时间:2023-03-05 22:43:05 网络应用技术

  在节点网络卡之前发生了错误,这影响了PRESTO任务结果,HDFS阅读的结果变慢,并且纱线任务的执行减慢。

  因此,随后的监视均匀地添加到该指标中。一段时间后,其他节点也收到了类似的警报。

  因此,我想到了以前的错误,所以我要求OP学生再次帮助切换网卡。切换网卡后,我有一段时间没有收到警报。但是一段时间后(4-5小时),我收到了一个新的警报。

  因此,停止运行NodeManager和Impala服务,仅保留DataNode服务。

  结果,网卡的报告仍未得到放松。随时收到大量警报。通过观察监视,节点的数据写作时间的平均时间比其他节点更长。

  当使用IFCONFIG命令查看网卡信息时,接收软件包的统计信息中有两个掉落和超支字段。它们似乎丢失了,但是它们有什么区别?

  查看结果:具体说明如下:

  因此,我个人认为,当我遇到超支non -0时,您需要检测CPU负载中断和CPU中断。

  在下图中选择了优化前后的比较。

  通过查看CPU闲置,发现会有一种充满CPU的现象。观察值也高于其他节点。因此,它决定优化网卡的软中断结合。

  顾名思义,Duqiang Line网卡已从原始的单个网络卡和单队列变为当前的单个-Network卡。Multi -Queue -Queue网络卡是一项技术。它最初用于解决网络IO QoS(服务质量)的问题。后来,随着网络的带宽不断增加,单个核心CPU无法完全满足网卡的需求,这反映了最明显的网络卡。也就是说,单核CPU无法处理大量数量网卡的数据包请求(软中断),这会导致大量数据包。

  实际上,当网卡接收数据包时,它将被中断,通知内核的核心以拥有一个新的数据包,然后将内核呼吁中断处理程序以响应响应,从网络卡复制数据包缓存到内存,因为网卡的缓存大小有限,如果未及时复制数据,则由于缓存溢出而不会在后续数据包中复制数据,因此需要立即完成此工作。

  其余的处理和操作数据包将移交给软中断。高负载网卡是一个宽敞的大家庭,易于形成瓶颈。但是,通过支持多个队列网卡驱动程序,每个队列都绑定到不同的CPU内核,以满足网卡的需求。这是多个队列的应用。

  网络卡的软中断:不平衡:

  因此,如果网络流量很大,则有必要将软中断分散到每个核中,以避免单个CPU核心瓶颈。

  Linux 2.4之后,内核引入了与指定的CPU结合特定中断的技术,称为SMP IRQ亲和力。

  当硬件(例如磁盘控制器或以太网卡)需要中断CPU的工作时,它会触发中断。CPU的中断通知与CPU有关,CPU应该放下当前的工作来处理此问题。为防止它,以防止它。发送多个设置以发送相同的中断。Linux设计了一组中断请求系统,以便将计算机系统中的每个设备分配给其各自的中断数字,以确保其中断请求的唯一性。

  从2.4内核开始,Linux改善了将特定中断分配给指定处理器(或处理器组)的功能。这称为SMP IRQ亲和力。服务器的工作量使服务器更加有效。以网卡中断为例,当未设置SMP IRQ亲和力时,所有网卡中断都与CPU0关联,这会导致高CPU0负载,并且无法有效,快速处理网络。DATA数据包导致瓶颈。

  通过SMP IRQ亲和力,对多个CPU的网卡多次中断会分散CPU压力并提高数据处理速度。

  原始:https://juejin.cn/post/7100388171661180941