浅析Linux服务器流量及并发控制之一

linux服务器流量异常跑高解决记事 这两天刚买没几天的阿里云服务器发生了一个小时近2G的流量开销,白花的银子打了水漂。百度一下,发现使用流量监控软件iftop 和nethogs可以找到发生大流量的服务。实际使用发现当时跑高的服务只显示对端ip。如下图:再百度一下,发现iftop可以监测固定网卡,命令是iftop -i eth1  ,eth1指网卡名。实际运行发现报错了,请看下图:尝试使用命令 iftop -i eth0 后,效果直接... 阅读详情
本篇主要讲述了利用tc工具对 Linux 进行高级流量控制.TC流量控制工具 ,从 Linux2.2 版开始已并入内核而且功能非常强大。如果你需要搭建高性能的 Linux 网关 ,本文将会使你受益颇多。

一、Linux 流量控制过程分二种:

1、队列控制 即 QOS, 瓶颈处的发送队列的规则控制,常见的有 SFQ PRIO

2、流量控制 即带宽控制 , 队列的排队整形, 一般为 TBF HTB

二、Linux 流量控制算法分二种:

1、无类算法 用于树叶级无分支的队列,例如:SFQ

2、分类算法 用于多分支的队列,例如:PRIO TBF HTB

三、具体实现:

1. 在网卡上建立 以SFQ算法的限流

#tc qdisc add dev eth0 root handle 1: sfq

SFQ参数有 perturb( 重新调整算法间隔 ) quantum  基本上不需要手工调整 :

handle 1: 规定算法编号 .. 可以不用设置由系统指定 ..

#tc qdisc sh dev eth0 显示算法

#tc qd del dev eth0 root 删除  注 : 默认 eht0 支持 TOS

2. 在网卡建立以 TBF算法的限流
#tc qd add dev eth1 root handle 1: tbf rate 256kbit burst 10000 latency 50ms 
 速率 256kbit  突发传输 10k  最大延迟 50ms 
#tc -s qd sh dev eth1 统计
#tc qd del dev eth1 root 删除
3. 在网卡建立 PRIO
 #tc qdisc add dev eth0 root handle 1: prio 
  # 此命令立即创建了类 : 1:1, 1:2, 1:3 ( 缺省三个子类 ) 
  #tc qdisc add dev eth0 parent 1:1 handle 10: sfq 
  #tc qdisc add dev eth0 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000 
    注 : 此为 TBF 限速的另一写法 , 前文有讲解 . 
  #tc qdisc add dev eth0 parent 1:3 handle 30: sfq
4. WEB 服务器的流量控制为 5Mbps,SMTP 流量控制在 3Mbps 上 . 而且二者一共不得超过 6Mbps, 互相之间允许借用带宽
 #tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000 cell 8 
  #tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 6Mbit weight  
    0.6Mbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded 
    这部分按惯例设置了根为 1:0, 并且绑定了类 1:1. 也就是说整个带宽不能超过 6Mbps. 
  #tc class add dev eth0 parent 1:1 classid 1:3 cbq bandwidth 100Mbit rate 5Mbit weight 
    0.5Mbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 
  #tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 100Mbit rate 3Mbit weight 
    0.3Mbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 
    建立了 2 个类 . 注意我们如何根据带宽来调整 weight 参数的 . 两个类都没有配置成"bounded", 但它们都连
  接到了类 1:1 上 , 而 1:1 设置了"bounded". 所以两个类的总带宽不会超过 6Mbps. 别忘了 , 同一个 CBQ 下面的子
  类的主号码都必须与 CBQ 自己的号码相一致 ! 
  #tc qdisc add dev eth0 parent 1:3 handle 30: sfq 
  #tc qdisc add dev eth0 parent 1:4 handle 40: sfq 
    缺省情况下 , 两个类都有一个 FIFO 队列规定 . 但是我们把它换成 SFQ 队列 , 以保证每个数据流都公平对待 . 
  #tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip sport 80 0xffff flowid 
    1:3 
  #tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip sport 25 0xffff flowid 
    1:4
6. 过滤器过滤示例

#tc filter add dev eth0 protocol ip parent 10: prio 1 u32 match ip dport 22 0xffff flowid 10:1

在 10:节点添加一个过滤规则 ,优先权 1:凡是去往 22口 (精确匹配 )的 IP数据包 ,发送到频道 10:1..

#tc filter add dev eth0 protocol ip parent 10: prio 1 u32 match ip sport 80 0xffff flowid 10:1

在 10:节点添加一个过滤规则 ,优先权 1:凡是来自 80口 (精确匹配 )的 IP数据包 ,发送到频道 10:1..

#tc filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2

在 eth0上的 10:节点添加一个过滤规则 ,它的优先权是 2:凡是上二句未匹配的 IP数据包 ,发送到频道 10:2..

#tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 match ip dst 4.3.2.1/32 flowid 10:1

去往 4.3.2.1的包发送到频道 10:1其它参数同上例

#tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 match ip src 1.2.3.4/32 flowid 10:1

来自 1.2.3.4的包发到频道 10:1

#tc filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2

凡上二句未匹配的包送往 10:2

#tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 match ip src 4.3.2.1/32 match

ip sport 80 0xffff flowid 10:1

可连续使用 match,匹配来自 1.2.3.4的 80口的数据包

Linux服务器文件实时同步:rsync+sersync原理、部署与生产环境调优 文件同步是运维和数据备份领域的基础技术,其核心目标是确保不同服务器或存储节点间的数据一致性。传统定时同步方案存在数据实时性差、恢复点目标(RPO)长等痛点。基于inotify机制的实时文件监控技术应运而生,它通过监听内核文件系统事件,实现了文件变化的即时感知。结合高效的增量同步算法,如rsync的滚动校验和差异传输,可以在极低带宽消耗下完成数据同步,为构建高可用架构、分布式存储和灾备体系提供了关键技术支撑。本文聚焦于rsync与sersync的组合方案,深入解析其监控触发与增量同步的协同原理,并提供从环境准 阅读详情

相关推荐

CORS漏洞批量扫描实战:Corsy工具原理、部署与自动化集成指南

跨域资源共享(CORS)是现代Web应用实现跨域通信的核心安全机制,其配置错误可能导致严重的数据泄露风险。CORS的工作原理基于HTTP响应头,通过校验请求的Origin字段来控制资源访问权限。当服务器配置不当,如错误地反射请求Origin或信任null源时,攻击者便可绕过同源策略,窃取用户敏感数据。在渗透测试与安全审计中,手动检查海量端点的CORS配置效率低下,因此自动化批量扫描工具成为提升覆盖面的关键技术。Corsy作为一款实战型工具,通过模拟多种恶意Origin请求,精准识别反射Origin、信任nu

weixin_30455023的博客 431

[Linux]使用 linux 下的 TC 进行服务器流量控制

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com] 本文链接: http://www.php-oa.com/2009/06/23/linux_tc.html        公司一台服务器,网络环境太高,那台服务器和源服务器连接下载,就跑到400M-500M,为了控制一下,所以研究了一下TC。来做流量控制.给他控制到小点,不要让这一台占了所有的网络。TC很是强大啊,

lwlliang的专栏 1001

Linux系统TC流量控制详解与应用

Linux流量控制(TC)是网络管理员手中的一项关键技术,它允许对进出网络接口的数据流进行管理,以保证网络资源被高效、公平地使用。它在保障网络质量、模拟网络条件、实现网络服务的区分和优先级划分等方面扮演着至关重要的角色。netem提供了多种网络条件模拟的功能,包括但不限于:延迟delay):可以模拟网络延迟,模拟慢速网络。丢包率loss):模拟在网络传输过程中数据包的丢失。重复duplicate):模拟数据包在网络中被复制。乱序reorder。

weixin_28999139的博客 1222

Linux(CentOS)网络流量实时监控(iftop)

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。 若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。

山不在高,有金则名 7万+

linux-syjratelimit无侵入的应用级网关限流框架无需配置文件细粒度控制

无侵入的应用级网关限流框架,无需配置文件,细粒度控制,高灵活性,高可用性,使用redis lua脚本实现。

基于Simulink的IEEE33节点配电网仿真实战:从建模到分布式能源集成

本文详细介绍了基于Simulink的IEEE33节点配电网仿真实战,从基础建模到分布式能源集成。通过MATLAB脚本管理参数、搭建Simulink模块,并集成风机和光伏系统,实现高效配电网仿真。文章还涵盖潮流计算、故障分析及性能优化技巧,为电力系统仿真提供实用指导。

git9versioner的博客 991

【课程设计】ssm医院挂号系统 毕业设计 250858

前台用户可分为未注册用户需求和已注册用户需求。 未注册用户的功能如下: 注册账号:用户填写个人信息,并验证手机号码。 浏览资讯数据:用户可以浏览主页面的资讯数据来了解系统的最新资讯数据。 浏览科室:用户可以根据科室类型浏览科室的信息,并选中某个科室查看详情,例如:科室名称、科室类别、科室图片等。 浏览医生:用户可以根据医生类型浏览医生的信息,并选中某个医生查看详情,例如:医生姓名、性别、职称、所在科室、主治症状、照片等。 浏览评论信息:选中某个药品可查看其用户的评论。 已注册用户的功能如下: 登录:根据账号

WeiXin_DZbishe的博客 424

BMW Standard Tools 宝马FSC工具套装下载

这是一款非常专业的一套宝马编码工具,懂行的人自然知道他的用处,不懂行的人,我解释再多也不会明白的,需要的拿去吧。软件名:BMW Standard Tools包含工具:BMW Coding Tool v2.50、change Language、CIC Mafia、Dr.Gini B021、EasyConnect、EDIABAS Konfigurator v1.1、EDIABAS Konfigurator v2.0.0、FSC-Tools_2.18、FSTool_v2_CarServer、INPA、ITool

Zj_arrow的博客 6998

MySQL从入门到精通:索引优化、事务处理与性能调优实战指南

如果你正在学习后端开发、数据分析,或者任何需要存储和管理数据的领域,MySQL 几乎是你绕不开的第一关。但很多人的“入门”之路,往往止步于安装成功和几条简单的 SELECT 语句,面对实际项目中的复杂查询、性能优化、事务处理和故障排查时,依然一头雾水。这恰恰是“从入门到精通”的真正鸿沟:你学到的是一套孤立的语法,而不是一个能解决实际问题的、活的数据库系统。 这篇文章不会重复那些随处可见的安装截图和基础命令列表。我们将从一个更本质的问题切入: 如何真正“掌握”MySQL,而不仅仅是“会用”? 这意味着,你需要

weixin_30847865的博客 434

Unity四部曲(核心)

需要先改成Cube复杂的展开留到unity进阶再说。

ultraman1234566的博客 2797

10、GPU发展历程:从光线追踪到网格着色器的技术革新

本文回顾了GPU的发展历程,重点探讨了从光线追踪到网格着色器的技术革新。涵盖了DirectX 12时代(2015-2020)光线追踪与AI结合的突破,包括NVIDIA的Volta架构、DLSS技术原理及可变速率着色的应用。随后介绍了DirectX 12 Ultimate时代(2020)网格着色器的引入,分析了其计算模型、细粒度控制能力及跨平台优势。最后总结了着色器的演变及GPU在多个领域的广泛应用。

ol789012345的博客 185

Linux 高级流控

在 IBM Bluemix 云平台上开发并部署您的下一个应用。 开始您的试用 Linux 高级流量控制 本篇主要讲用 TC 对 Linux 进行高级流量控制 通过大量实践结合 TC 流控 HOWTO 文档整理而得 如果你对 Linux 流控感兴趣,如果你需要搭建高性能的 Linux 网关 , 本文将会使你受益颇多。 注:至少具备 Linux OS 的中级水平

eydwyz的专栏 2332

核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升

本文深入解析了YOLO26目标检测模型中Neck部分的优化策略,重点探讨了BiFPN(双向特征金字塔网络)的原理与实现。文章首先指出YOLO26原生FPN+PAN结构在多尺度特征融合上的局限性,特别是在小目标检测和边缘部署场景中的性能瓶颈。随后系统梳理了Neck网络的演进历程,从FPN、PANet到BiFPN和ASFF,详细对比了各架构的特点。核心部分展示了如何将BiFPN引入YOLO26,包括可学习权重融合、双向跨尺度连接等关键技术实现,并提供了PyTorch代码示例。本文为需要提升小目标检测性能或优化边

ZDQ58818的博客 246

高流量大并发Linux TCP性能调优

 其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。   本文参考文章为:   优化Linux下的内核TCP参数来提高服务器负载能力   Linux Tuning   本文所面对的情况为:   高并发数   高延迟高丢包(典型的美国服务器)   值

天道酬勤 1万+

Winform从入门到精通(21)——ProgressBar(史上最全)

本介绍ProgressBar控件的详细用法,包含所有属性、事件,绝对史上最全!

qq_34059233的博客 3350

使用pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集

superpoint与superglue的组合可以实现基于深度学习的图像配准,官方发布的superpoint与superglue模型均基于coco数据训练,与业务中的实际数据或许存在差距,为此实现基于开源的pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集。然而,在训练pytorch-superpoint有诸多细节需要优化,特此整理成技术文档。本文档描述了实验pytorch-superpoint与pytorch-superglue项目训练自己的图像配准模型。

a486259的博客 9504

LInux 的流量限制

一、相关概念 报文分组从输入网卡(入口)接收进来,经过路由的查找, 以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比如TCP,如果是转发的, 则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能, 但一般说来, 由于我们无法控制自己网络之外的设备, 入口处的流量控制相对较难。本文将...

newxwj的博客 3119

OpenCV-Python实战(11)——OpenCV轮廓检测相关应用

在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息,包含了有关对象形状的主要信息,该信息可用于形状分析与对象检测和识别。在本文中,我们将学习如何利用获取到的轮廓,进行形状分析以及对象检测和识别。

盼小辉丶的博客 1万+

Linux服务器上监控网络宽带的18个命令

Linux服务器上监控网络带宽的18个常用命令2014-04-11 10:10 布加迪编译 51CTO.com 字号:T | T本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。AD:51CTO学院:IT精品课程在线看!【51CTO精选译文】本文介绍了一些可以用来...

weixin_33851429的博客 3907

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux服务器下查看网络流量

推荐Linux下检测网卡流量的两款软件,其一是:nload,另外一个就是:iftop。这两个软件的安装方法都很简单,下面逐一介绍:首先,从以上网址下载下来后,安装nload: ./configure –prefix=/usr/local/nload make make install./configure –prefix=/usr/local/iftop make make i...

purpen 1031

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Linux系统网络流量负载情况的查询和案例分析

概述 Linux中有各种查看网络流量的工具,比如sar、iftop、nethogs等。它们可以从不同的纬度来分析系统中流量信息,本文进行简要介绍。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在...

qq_25933841的博客 1608

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux网络流量走高,linux-流量异常高怎么处理

这里就简单说说这个流量跑高。首先我从cacti 中监控到了一台放在机房的服务器流量异常,何为异常这里说一下:本身这台服务器交换机中限制带宽为两兆峰值,而他却可以跑到100M,按正常情况来说,当你的服务器流量跑满的时候,你的机器会很卡、远程连接会掉线或者根本连不上,所以正常流量来看,是绝对不会跑到100M的,所以这叫流量异常。下面给大家看一下图:一、那么当我发现异常后,我就查资料表找出这台机器的IP...

weixin_39884100的博客 1640

Linux高并发系统之限流技术

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀...

weixin_34315485的博客 761

Linux 端口限流(tc + iptables)

一、相关概念 报文分组从输入网卡(入口)接收进来,经过路由的查找, 以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比如TCP,如果是转发的, 则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能, 但一般说来, 由于我们无法控制自己网络之外的设备, 入口处的流量控制相对较难。本文将集中...

非止。的专栏 8820
上一篇: android 模拟2048
下一篇: javascript的初步认识
honckly
博客等级 码龄20年 3粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值