|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!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,今朝另有待确认
欢迎大家来到仓酷云论坛! |
|