爱飞 发表于 2015-1-14 20:34:30

给大家带来办理ksoftirqd历程耗尽单核100%si处置软中止招致功能瓶颈之法

欢迎大家来到仓酷云论坛!LinuxVirtualServer(LVS)之:ksoftirqd历程耗尽单核100%si处置软中止招致功能瓶颈比来测试LVS功能,发明当CPU个中一个核耗尽后体系到达功能巅峰。
损耗CPU资本的是ksoftirqd历程,全体用于处置软中止(从历程名也能辨认出了)。
搜了一下,良多人都碰到这类成绩,仿佛也没有办理。懂得到并实验过的办理计划有:
1、削减集群成员的数目;
2、修正集群形式(NAT、TURNL、DR);
3、修正集群调剂算法;
4、晋级操纵体系内核到2.6.20以上;
5、调剂网卡的最年夜传输单位(MTU);
6、修正装备中止体例;
7、利用多网卡负载平衡;
8、晋级硬件(网卡);
9、改换操纵体系。

逐一讲授以下吧:
第1点:削减集群成员的数目。因为瓶颈不在实在办事器上,以是削减成员数目,lvs功能没有分明变更。
第2点:修正集群形式。实际上DR形式是最省资本的,也许懂得实际的伴侣应当都晓得。因为NAT形式不满意需求,故仅对照了DR和TUN形式,二者没有分明区分。
第3点:修正集群调剂算法。已有的十种算法中属rr最复杂,并且今朝瓶颈还未深切到这一层。实践上在处置收集包的时分招致的瓶颈。调剂算法复杂对照了rr和wrr,二者没有分明区分。
第4点:晋级操纵体系内核到2.6.20以上。我间接晋级到以后已公布的最新版本2.6.34,了局瓶颈并没有失掉改良。

第5点:调剂网卡的最年夜传输单位。互换机撑持最年夜的传输单位是9216,将网卡的最年夜传输单位分离修正为:1500(默许)、5000、9000、9216。个中1500和5000二者没有分明不同,9000和9216会招致收集不不乱,功能也没有进步反而呈现大批毗连超时。
第6点:修正装备中止体例。经由过程修正设置中止/proc/irq/${网卡中止号}/smp_affinity:
测试办事器CPU为四核,实际上彀卡的smp_affinity值为1、2、4、8分离对应cpu0、cpu1、cpu2、cpu3。
了局:
1、网卡的smp_affinity默许值为8,测试过程当中软中止全体由cpu3处置。准确
2、设置smp_affinity=1,测试过程当中软中止全体由cpu0处置。准确
3、设置smp_affinity=2,测试过程当中软中止全体由cpu1处置。准确
4、设置smp_affinity=4,测试过程当中软中止全体由cpu2处置。准确
5、设置smp_affinity=5,测试过程当中软中止全体由cpu0处置,预期应当分派给cpu0和cpu2处置。有效
6、设置smp_affinity=f,测试过程当中软中止全体由cpu0处置,预期应当分派给cpu0、cpu1、cpu2和cpu2处置。有效
即:修正smp_affinity的功效只针对单核无效。
第7点:利用多网卡负载平衡。此计划可行!利用两张网卡绑定一个IP地点,功能就提拔了一倍,效果十分分明。缘故原由就是两张网卡各用一个CPU核,比拟用单核而言,功能天然提拔一倍。

设置体例以下:

单网卡事情形式
#cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.223.255
HWADDR=00:1E:90:76:6F:E0
IPADDR=192.168.223.113
NETMASK=255.255.254.0
NETWORK=10.20.222.0
ONBOOT=yes
GATEWAY=192.168.222.1
TYPE=Ethernet
绑定双网卡操纵步调
echoaliasbond0bonding>>/etc/modprobe.conf

#cat/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
BROADCAST=192.168.223.255
MACDDR=00:1E:90:76:6F:E2
IPADDR=192.168.223.113
NETMASK=255.255.254.0
NETWORK=192.168.222.0
USERCTL=no
ONBOOT=yes
GATEWAY=10.20.222.1
TYPE=Ethernet
BONDING_OPTS="mode=0miimon=100"

#cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

#cat/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

#servicenetworkrestart

第8点,晋级硬件,利用撑持RSS功效的网卡。
上面是intel对RSS的申明

Receive-sidescaling(RSS)routesincomingpacketstospecificqueues,efficientlybalancingnetworkloadsacrossCPUcoresandincreasingperformanceonmulti-processorsystems.RSS,calledScalableI/OinLinux*,createsahashtablefromIP,TCP,andPortAddressesandusesthattabletodecidewhichqueuetorouteapacketto,andtowhichprocessorthepacketshouldbeassociated.

但是从我们利用网卡的官网硬件目标上,都是撑持RSS的。Windows的设置体例是`netshinttcpsetglobalrss=enabled`。
第9点,改换操纵体系。此计划在临盆情况下安排的大概性对照小,可是否关操纵体系的事的确必要确认。
听说Windows的NLB、solaris、AIX撑持网卡RSS,今朝另有待确认

欢迎大家来到仓酷云论坛!

小女巫 发表于 2015-1-16 20:32:24

给大家带来办理ksoftirqd历程耗尽单核100%si处置软中止招致功能瓶颈之法

在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。

柔情似水 发表于 2015-1-25 15:53:00

老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。

谁可相欹 发表于 2015-2-3 11:21:29

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

蒙在股里 发表于 2015-2-8 22:50:17

主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。

老尸 发表于 2015-2-26 14:17:00

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。

冷月葬花魂 发表于 2015-3-8 15:50:17

对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。

飘灵儿 发表于 2015-3-16 09:22:03

其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。

兰色精灵 发表于 2015-3-22 22:10:46

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
页: [1]
查看完整版本: 给大家带来办理ksoftirqd历程耗尽单核100%si处置软中止招致功能瓶颈之法