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

本案例演示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浏览器端设置方法:

PCDUINO运行iperf服务器:

iperf -s

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

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

均衡前

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

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

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

均衡后

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

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带宽报告:

此时top命令状态:

此时LEPV端浏览器显示

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

CPU1开始处理包:

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

再次恢复恶劣状态

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

root@pcduino3:/# no-balance.sh

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

均衡前后对比

IDLE

IRQ+SoftIRQ

iperf带宽

均衡前

CPU0忙 CPU1闲

CPU0 忙 CPU1闲

30M

均衡后

CPU0 忙 CPU1忙

CPU0 忙 CPU1忙

90M

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

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

25.1 Docker简介

Docker介绍 Docker流行的特性:在于快速部署交覆 比如在企业中做开发,还是在线上跑一些服务,跑一些业务,都需要去部署很多的环境,如lnmp,mysq...

3577
来自专栏腾讯云容器服务团队的专栏

腾讯云 Web 登录 Kubernetes 集群内容器功能实践

以往一旦Kubernetes服务出现问题,用户不得不先登录集群node,然后使用docker exec命令进入容器中查看容器。这个过程费时费力,如果要在不同的容...

4360
来自专栏xcywt

《Linux命令行与shell脚本编程大全》 第八章管理文件系统

ext:最早的文件系统,叫扩展文件系统。使用虚拟目录操作硬件设备,在物理设备上按定长的块来存储数据。

693
来自专栏owent

接入letsencrypt+全面启用HTTP/2

之前我的域名只有owent.net和www.owent.net买了SSL证书,现在有letsencrypt可以拿到免费的SSL签证,就稍微花了点时间把我的域名的...

832
来自专栏云计算

使用HyperForm自动配置虚拟机(第1部分)

原文地址:https://dzone.com/articles/automated-self-service-provisioning-of-virtual-m...

2166
来自专栏idba

分布式任务队列celery之五

前面一系列celery的文章算是从0到1将celery的架构,原理以及核心功能比较完整的呈现给大家,本文则基于运维的角度介绍如何在生产上运维celery。

712
来自专栏逸鹏说道

分布式小文件系统fastdfs与weedfs的对比

小编小文件存储用的一直是Mongodb,Tair和FastDFS风评一直很不错,最近1年Net界用的比较多的基本上都是FastDFS或者Mongodb(分布式图...

4907
来自专栏IT技术精选文摘

高性能配置中心 duic - 设计&实现

配置(Configuration)对于技术人员来说应该都不陌生,通常配置都是以 key-value 的形式存在于配置文件当中。例如线程池大小、数据库连接、逻辑开...

1003
来自专栏Golang语言社区

使用Let's Encrypt的SSL证书配置HTTPS手记

前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Goog...

3267
来自专栏散尽浮华

Netdata---Linux系统性能实时监控平台部署记录

通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况。下面就介绍下一款Linux性能实时监测工具-Netda...

3118

扫码关注云+社区