首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LEP 与负载均衡:以 PCDUINO 实际案例来使用 LEP 提高网络带宽

LEP 与负载均衡:以 PCDUINO 实际案例来使用 LEP 提高网络带宽

原创
作者头像
Linuxer
发布2017-10-12 09:46:50
9000
发布2017-10-12 09:46:50
举报
文章被收录于专栏:Linuxer的专栏Linuxer的专栏

本案例演示LEP观察到负载不均衡情况下,PCDUINO电路板iperf测试网络带宽发挥不出来,并实施负载均衡后,看到PCDUINO网络带宽重大提高。

怎么烧录PCDUINO镜像

https://github.com/linuxep/images.git项目下载pcduino-sd.img.gz,用gunzip解压后得到pcduino-sd.img,写入PCDUINO的SD卡(SD卡拔出后,以读卡器插入Linux电脑)。

sudo dd if=pcduino-sd.img of=/dev/sdx (x是你的SD卡在你电脑的路径)

实验方法

开机后PCDUINO电路板的IP地址自动已经配置为192.168.100.100,将电脑与PCDUIBO电路板网线直连,保证本机可以访问PCDUINO的IP地址。登陆电路板可以用ssh命令:

ssh root@192.168.100.100

无密码。

电路板上也集成了ARM版本的LEPD,位于/usr/bin/lepd,运行方法:

lepd --debug

LEPV浏览器端设置方法:

[1507710311844_5710_1507710307741.png]
[1507710311844_5710_1507710307741.png]

PCDUINO运行iperf服务器:

iperf -s

电脑运行iperf客户端(每10秒报一次网络带宽):

iperf -c 192.168.100.100 -P 40 -t 2000 -i 10 -l 1K | grep SUM

均衡前

此时top里面监控到严重的负载不均衡现象:

[1507710352594_6058_1507710348491.jpg]
[1507710352594_6058_1507710348491.jpg]

如果不做任何工作,均衡前电脑上iperf上的周期report:

[1507710489891_4790_1507710487043.jpg]
[1507710489891_4790_1507710487043.jpg]

LEPV浏览器的显示(其中CPU1在严重地看热闹):

[1507710585671_4391_1507710581676.png]
[1507710585671_4391_1507710581676.png]
[1507710602373_4278_1507710598378.png]
[1507710602373_4278_1507710598378.png]

均衡后

在电路板运行负载均衡脚本:

root@pcduino3:/# balance.sh

该负载均衡脚本内容如下,是关于IRQ和SoftIRQ的配置:

echo 2 > /proc/irq/40/smp_affinity
echo 3 > /sys/class/net/eth0/queues/rx-0/rps_cpus
echo 4096 >/proc/sys/net/core/rps_sock_flow_entries
echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt

此时电脑上iperf带宽报告:

[1507710647976_5900_1507710643894.jpg]
[1507710647976_5900_1507710643894.jpg]

此时top命令状态:

[1507710817489_2456_1507710813727.jpg]
[1507710817489_2456_1507710813727.jpg]

此时LEPV端浏览器显示

我们看到CPU1的IDLE线迅速下跳(不再看热闹了):

[1507710836878_6767_1507710832786.png]
[1507710836878_6767_1507710832786.png]

CPU1开始处理包:

[1507710853123_1069_1507710849024.png]
[1507710853123_1069_1507710849024.png]

稳定观察一段时间后(两个CPU在均衡处理网络):

[1507710868030_5327_1507710863924.png]
[1507710868030_5327_1507710863924.png]

再次恢复恶劣状态

在电路板运行负载不均衡脚本(就是默认状态):

root@pcduino3:/# no-balance.sh

电脑上iperf上的带宽再次严重下降:

[1507710900628_8081_1507710896536.jpg]
[1507710900628_8081_1507710896536.jpg]

均衡前后对比

IDLE

IRQ+SoftIRQ

iperf带宽

均衡前

CPU0忙 CPU1闲

CPU0 忙 CPU1闲

30M

均衡后

CPU0 忙 CPU1忙

CPU0 忙 CPU1忙

90M

文章来源于:Linuxer 微信公众号

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 怎么烧录PCDUINO镜像
  • 实验方法
  • 均衡前
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档