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

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

原创
作者头像
Linuxer
发布于 2017-10-12 01:46:50
发布于 2017-10-12 01:46:50
1.1K0
举报
文章被收录于专栏: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电脑)。

代码语言:txt
AI代码解释
复制
sudo dd if=pcduino-sd.img of=/dev/sdx (x是你的SD卡在你电脑的路径)

实验方法

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

代码语言:txt
AI代码解释
复制
ssh root@192.168.100.100

无密码。

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

代码语言:txt
AI代码解释
复制
lepd --debug

LEPV浏览器端设置方法:

PCDUINO运行iperf服务器

代码语言:txt
AI代码解释
复制
iperf -s

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

代码语言:txt
AI代码解释
复制
iperf -c 192.168.100.100 -P 40 -t 2000 -i 10 -l 1K | grep SUM

均衡前

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

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

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

均衡后

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

代码语言:txt
AI代码解释
复制
root@pcduino3:/# balance.sh

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

代码语言:txt
AI代码解释
复制
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在均衡处理网络):

再次恢复恶劣状态

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

代码语言:txt
AI代码解释
复制
root@pcduino3:/# no-balance.sh

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

均衡前后对比

IDLE

IRQ+SoftIRQ

iperf带宽

均衡前

CPU0忙 CPU1闲

CPU0 忙 CPU1闲

30M

均衡后

CPU0 忙 CPU1忙

CPU0 忙 CPU1忙

90M

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python爬虫神器requests库的使用
在现代编程中,网络请求几乎是每个项目不可或缺的一部分。无论是获取数据、发送信息,还是与第三方 API 交互,都会涉及到网络请求。
左诗右码
2024/11/07
5120
Python爬虫神器requests库的使用
爬虫值requests库
requests简介 简介 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 ,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下,正常则说明可以开始使用了。 基本用法: requests.get()用于请求目标网站,类型是一个HTTPresponse类型 import requests response = requests.get('htt
人生不如戏
2018/05/30
6120
requests库的基本用法
Requests 是使用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。 它比urllib库更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。 一句话—Python实现的简单易用的HTTP库。
爱吃西瓜的番茄酱
2018/07/25
4770
Python使用HTTP来循环抓取数据
现在需要帮助客户了解如何使用Python的requests库发送HTTP请求。首先,我得回忆一下requests库的基本用法,可能客户是刚开始学习这个库,所以需要从安装开始讲起。
华科云商小徐
2025/03/05
4310
[331]python之requests的基本使用
Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作。
周小董
2022/04/12
6350
[331]python之requests的基本使用
使用Python Requests库:深入探索HTTP请求的艺术
在Web开发的广阔世界中,HTTP请求与响应是构建任何交互式Web应用或服务不可或缺的一部分。Python,作为一门强大且灵活的编程语言,通过其丰富的库和框架支持,使得处理HTTP请求变得既简单又高效。其中,Requests库无疑是进行HTTP请求操作的首选之一。
富贵软件
2025/08/28
1530
使用Python Requests库:深入探索HTTP请求的艺术
python爬虫从入门到放弃(四)之 Requests库的基本使用
coders
2018/01/04
2.3K0
python爬虫从入门到放弃(四)之 Requests库的基本使用
Python中的HTTP请求:从菜鸟到高手的全面指南
在现代网络应用中,HTTP(HyperText Transfer Protocol)协议是客户端与服务器之间数据传输的核心。作为Python开发者,了解和掌握如何发送和处理HTTP请求至关重要。无论你是开发Web应用、爬虫,还是进行API集成,本文都将从基础到高级,逐步引导你成为HTTP请求处理的高手。
富贵软件
2025/08/28
1610
Python中的HTTP请求:从菜鸟到高手的全面指南
使用Python的requests库来发送HTTP请求
使用 Python 的 requests 庂来发送 HTTP 请求非常简单,requests 是一个流行的第三方库,支持各种类型的 HTTP 请求,并且它的 API 设计非常简洁易用。
华科云商小徐
2025/03/05
7260
网络爬虫 | requests请求模块
Cookies信息像很多网页中自动登录一样,在用户第二次登录时,不需要再次属于用户名和密码即可实现登陆操作。
数据STUDIO
2021/06/24
7840
为HTTP而生的requests库,纵横江湖难逢敌手
既然Python是一门全球流行的语言,那么对于网络通信的HTTP的支持肯定也是非常的优秀的。Python中原生的urllib模块也有对HTTP的支持,虽然也可以用来发送 HTTP 请求,但使用起来相对繁琐,并且 API 设计不够直观。
一点sir
2024/03/07
2610
为HTTP而生的requests库,纵横江湖难逢敌手
利用Python requests库爬虫程序示例
如果想要一个使用Python requests库的爬虫程序。首先,我需要确认他们的具体需求是什么。可能他们需要基本的爬虫示例,或者有特定的网站要抓取,但用户没有提到具体网站,所以最好提供一个通用的例子。
华科云商小徐
2025/04/08
2580
python爬虫常用库之requests详解
这是日常学python的第11篇原创文章 在使用了urllib库之后,感觉很麻烦,比如获取个cookie都需要分几步,代码又多,这和python的风格好像有点不太像哈,那有没有更加容易点的请求库呢?答案是有的,那就是第三方库requests,这个库的作者是大名鼎鼎的kennethreitz,创作这个库的原因就是想让python开发者更加容易地发起请求,处理请求。里面还有个名字:HTTP for Humans,顾名思义,就是用来请求http的。想看源代码的可以在github上搜索他的名字就可以看到了。 接下来
sergiojune
2018/04/04
1.5K0
python爬虫常用库之requests详解
吐血总结,Python Requests库使用指南
requests 库是用来在Python中发出标准的HTTP请求。它将请求背后的复杂性抽象成一个漂亮,简单的API,以便你可以专注于与服务交互和在应用程序中使用数据。
昱良
2019/05/06
9.7K0
Python(十三)
上篇,我们介绍了 Python 基础 HTTP 库 urllib 的基本使用,在使用上还是比较麻烦的,本篇,我们来看一下第三方 HTTP 库 Requests 是如何简化我们的操作的。
1ess
2021/11/01
3340
爬虫小白:03.requests的使用
安装:pip install requests 导包:import requests
见贤思齊
2020/08/05
1.4K0
Python中的requests入门
在Web开发中,经常需要与其他网站或API进行交互,发送HTTP请求并获取响应数据。Python中的​​requests​​库是一个简单、易于使用的HTTP库,可以轻松地发送各种类型的HTTP请求。本文将介绍如何入门使用​​requests​​库,执行常见的HTTP请求操作。
大盘鸡拌面
2023/10/18
4210
网络请求轻松搞定:玩转Python中requests函数的实用技巧
在Python中,requests库是用于发送HTTP请求的常用库。它提供了简洁易用的接口,使得发送HTTP请求变得非常简单。本文将深入探讨requests库的使用方法,从入门到精通。
子午Python
2023/08/08
5850
教程 | Requests的基本用法
Requests是Python语言编写,基于urllib3,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。是Python实现的简单易用的HTTP库。
昱良
2019/05/13
8850
教程 | Requests的基本用法
HTTP协议:连接世界的语言 —— Python中的实践与探索
HTTP(HyperText Transfer Protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。它定义了客户端(如浏览器)与服务器之间的数据交换方式,是Web通信的基础。HTTP协议不仅对于网络开发、服务器配置、网络爬虫编写及性能优化等领域具有重要意义,而且有助于理解RESTful API设计原则。本文将深入探讨HTTP协议的基本原理,并通过Python实践案例,帮助新手朋友更好地掌握这一连接世界的语言。
富贵软件
2025/08/28
1230
HTTP协议:连接世界的语言 —— Python中的实践与探索
相关推荐
Python爬虫神器requests库的使用
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入行业数字化趋势交流群
解读转型政策方向 参考企业落地案例
加入腾讯云EdgeOne官方交流群
掌握EdgeOne动态 共享实战技巧
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档