LEP(LINUX EASY PROFILING) 是Barry Song,Mac Xu,陈松等以及陈莉君老师团队正在致力于打造的一个开源项目,其宗旨在于便利Linux的程序员,以最快最直接的方式,定位到系统里面一些bug的源头,以及一些性能瓶颈的原因。

这篇文章的内容涉及用LEP(LINUX EASY PROFILING)监控PCDUINO 3nano电路板网络流量,观察负载均衡IDLE、IRQ和SoftIRQ,以及用RPS/RFS提高高网络负载情况的网络带宽。

LEP项目组欢迎开源爱好者加入和参与。关于项目的最新演讲与文章:

【终南山.内核问道】Linux性能剖析的可视化

宋宝华:LEP(Linux易用剖析器) 是什么,为什么以及怎么办(1)


点击“二维码”关注

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浏览器端设置方法:

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

本文未完待续 >>> 

iphone用户打赏

Android用户打赏

LEP与负载均衡—— 以PCDUINO实际案例来使用LEP提高网络带宽相关推荐

  1. 4-springcloud负载均衡( ribbon )案例

    首先这里是基以前的项目开始 [ 有详细的步骤,大家可以先看看 ] 要想实现负载均衡 第一步:集群部署 方式一:maven对每一个工程打包 (双击package即可打成jar包) ctrl+r打开dos ...

  2. 锐捷路由器——NAT应用案例----TCP负载均衡

    当我们内部有几台提供相同服务的服务器时,我们可以用NAT来做到负载均衡;该功能也称为TCP负载均衡技术. 配置案例: 如下图所示,内网有两台相同的服务器192.168.1.253,192.168.1. ...

  3. 两小时搞定负载均衡51CTO技术沙龙现场视频2

    田逸田老师幽默风趣的案例讲解 7月5日下午,51CTO技术社区主办的"两小时搞定负载均衡 全真实战案例解析"活动圆满结束.参加沙龙的100多位用户和嘉宾相聚近三个小时,生动的课程. ...

  4. Ocelot(二)- 请求聚合与负载均衡

    Ocelot(二)- 请求聚合与负载均衡 作者:markjiang7m2 原文地址:http://letyouknow.net/ocelot/ocelot-tutorial-2.html 源码地址:h ...

  5. 【SpringClould】SpringClould eureka 单机 使用 ribbon 负载均衡

    文章目录 1.概述 2.依赖 3.client 1.概述 在博客:[SpringClould]SpringClould eureka 单机 案例实验 中我们写了一个random实现了负载均衡,实际上s ...

  6. 华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档

    负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不穷,令人眼花缭 ...

  7. 华为19级大佬10年心血终成百页负载均衡高并发网关设计实战文档

    说在前面的话 负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不 ...

  8. linux加权_「学员笔记」LINUX随堂笔记(十一):LVS负载均衡群集

    第12章 LVS负载均衡群集 一.群集概述 1.1 群集的类型 无论是哪种群集,都至少包括两台节点服务器,而对外表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机,根据群集所提 ...

  9. F5负载均衡的双机冗余配置与全冗余解析

    F5负载均衡的双机冗余实现与RadWare是不同的,RadWare是采用VRRP协议实现的,F5主要是通过串口心跳和网络心跳来实现双机冗余的.下面让我们对此做一下认识和了解,仅此交流. 一.串口心跳双 ...

最新文章

  1. Leangoo看板工具做敏捷故事地图看板示例
  2. pythonsorted_[转].Python中sorted函数的用法
  3. OpenSceneGraph学习笔记
  4. 围观|第一代云原生企业米哈游如何让想象发生?
  5. 人才测评——帮你“透视”人才
  6. HTML制作搞笑照片,40张创意搞笑的照片PS效果
  7. 【转】C++ traits技术
  8. 海康/大华 IpCamera RTSP地址和格式
  9. 流量管理系统产品选型常见问答(FAQ)
  10. 日本研发圆滚滚的球形无人机,被LED屏团团包围
  11. declspec(dllexport)和declspec(dllexport)的实际应用
  12. .bat 常用命令
  13. 离职后竟半夜偷溜回办公室写代码?为自由软件而战斗的程序员
  14. mac m1上esc键失灵不能退出vi解决方法
  15. 《WEB性能测试实战》之WEB性能测试分析
  16. powershell使用总结
  17. 易语言网络访问响应中文乱码
  18. IT专业人士:Windows 7部署的攻坚兵
  19. oracle备份与恢复概述,Oracle 备份与恢复
  20. 抽象类与接口的应用场景

热门文章

  1. 绘制遗传图谱工具——MapChart
  2. 中括号 上面 缺一横 下面缺一横 不大于 不小于 算法知识点
  3. c++字符串转换为数字(stoi, stol, stoul, stoull, stof, stod, stold)
  4. 国标GB/T28181视频流媒体服务器4G摄像头视频无插件直播方案对接过程中前端设备正常上线但视频无法播放问题解决
  5. ZooKeeper应用——解决分布式系统单点故障
  6. 邮政网络与计算机网络的区别,邮政储蓄计算机网络系统分析与评价
  7. 安装系统-win 10
  8. gdal调用capi处理乱码问题(c#)
  9. 机器人总动员拟人_《机器人总动员》从三个角度解析这部电影带给我们的思考与感动...
  10. 0x03数据类型和变量