属于大家的
VPS知识分享站

云服务器带宽跑满:限速、流量包与攻击排查

先说结论:带宽跑满先分三种情况——正常业务高峰、异常进程/被刷、DDoS 攻击。看入站还是出站、连接数多不多、来源集不集中,基本能判断。正常高峰上 CDN 和压缩,异常进程限速,攻击切清洗,别一上来就升带宽。

先看三个数:

  • 入站/出站:入站打满是攻击或下载,出站打满是响应或外发
  • 连接数:连接暴涨但流量不大,可能是 CC 或扫描
  • 来源分布:集中在一个网段是脚本,分散在大量 IP 是僵尸网络

先确认是不是真的跑满

iftop -nNP
nethogs
sar -n DEV 1 5
ss -s

看网卡的实际收发速率,和标称带宽对比。注意单位:Mbps 和 MB/s 差 8 倍。100Mbps 换算成下载速度约 12.5MB/s,别把 12MB/s 当成“只用了 12%”。

找进程和连接

nethogs
ss -ntu state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head
pidstat -d 1 5

找到占用最高的进程,确认是不是你认识的:备份同步、日志外发、镜像拉取、爬虫、被植入的发包脚本。陌生进程按入侵排查,别只限速了事。

服务器大量外联连接,一个异常进程被标红
先找进程和连接,陌生外联要按入侵排查。

正常高峰怎么优化

  • CDN:图片、视频、静态资源走 CDN,源站只承担回源
  • 压缩:开 gzip/brotli,图片转 WebP,视频降码率
  • 缓存:页面缓存、对象缓存、浏览器缓存
  • 限速:大文件下载限速,避免单个用户占满
  • 错峰:备份、同步、镜像拉取放到低峰

很多“带宽不够”其实是没做压缩和缓存。先优化一轮,再谈升带宽。

异常进程和被刷

如果是被刷流量、被爬虫扫、被下载站盗链:

  • 看访问日志里的 UA、Referer、路径,封掉异常来源
  • 开防盗链,限制单 IP 并发和速率
  • 给 API 加鉴权和限流
  • 大文件下载加签名 URL 和有效期

DDoS 怎么判断

入站带宽瞬间打满、源站 CPU 不高、ping 丢包严重,多半是流量型 DDoS;请求数暴涨、应用 CPU 高、带宽不一定满,是 CC。两种处理方式不同:流量型切清洗/高防,CC 限流+挑战。

红色恶意流量冲击网络链路
入站瞬间打满、源站 CPU 不高,优先怀疑流量型 DDoS。

流量包和升带宽

如果是持续增长的业务,按 95 峰值或月流量算,选择升带宽、买流量包或换计费方式。短期活动可以临时升配,活动结束再降回来;长期增长就直接调整套餐。

升带宽前确认瓶颈真的是带宽:如果 CPU、磁盘、数据库先到顶,升带宽没用。

限速和 QoS

# 示例:限制某个网卡出站 50Mbps
tc qdisc add dev eth0 root tbf rate 50mbit burst 32kbit latency 400ms

Nginx 也可以按 IP 限速:limit_rate、limit_conn。限速是保护整体,不是惩罚用户;对下载站和视频站尤其有用。

CDN 节点在源站前吸收流量,旁边有升级箭头
先上 CDN 和压缩,再考虑升带宽。

怎么预防

  • 监控入站/出站带宽、连接数、95 峰值
  • CDN 命中率和回源带宽单独看
  • 大文件下载走对象存储 + 签名 URL
  • 设置流量和带宽告警,80% 提醒
  • 定期排查异常外联和陌生进程

带宽和并发

并发不等于带宽。一个页面 2MB,100 个并发同时打开,理论上要 200MB 瞬时吞吐;实际有缓存和 CDN,不会全部打到源站。按“页面大小 × 峰值并发 ÷ 回源比例”估算,比直接乘更准。

怎么和 CDN 配合

静态资源全走 CDN,源站只留动态请求和回源。CDN 命中率越高,源站带宽越省;但回源带宽要单独留余量,缓存过期或被刷时,回源会瞬间打满。

监控和告警

监控入站、出站、95 峰值、CDN 命中率、回源带宽和单 IP 连接数。设 80% 告警,别等 100% 才处理。告警要能定位到域名、路径和来源 IP。

什么时候该升配

优化缓存和 CDN 后,晚高峰仍持续 80% 以上,且业务在增长,才考虑升带宽或换计费。短时活动用临时升配,活动结束降回来。

流量包怎么买

先看过去三个月的月流量,取最高值加 30% 余量,别按平均值买。流量包有有效期,买多了过期清零;可以月包 + 临时包组合,活动前临时加。

被刷流量怎么办

看日志里的来源、UA、路径,先封网段和特征;开 CDN 缓存和限流,必要时切清洗。保留证据,向服务商申诉减免,被打的流量有些可以核减。

限速策略

按 IP、路径、用户分层限速:静态资源宽松,下载和视频严格,API 按用户配额。限速要返回明确错误,别让用户一直等。

单位别搞混

带宽用 Mbps,下载速度用 MB/s,1 字节等于 8 比特。100Mbps 理论下载 12.5MB/s,实际 10 到 11MB/s 就算正常。看到 12MB/s 别以为只用了 12%。

什么时候换计费

连续三个月流量费用高于带宽费用,或晚高峰长期贴着上限,就该重新算账。换之前确认结算周期和差价规则。

如果源站在海外、用户在国内,回源线路和跨境带宽也要算进去,别只盯机房出口。

最后,把带宽、流量、CDN 回源和账单放在一张表里,每月看一次,异常能提前发现。

带宽问题多半是“没优化”而不是“不够用”,先优化再扩容。

先优化,再扩容,最后才换计费,顺序别反了,否则钱花了问题还在,一定要记住。

常见问题 FAQ

Q1:带宽跑满一定是被攻击吗?

不一定。先看业务量、连接数和来源分布。正常高峰、备份同步、镜像拉取都会跑满。

Q2:升带宽能解决吗?

如果是持续业务增长,可以;如果是攻击或异常进程,升带宽只是多花钱。

Q3:怎么快速判断入站还是出站?

iftop 看方向,sar -n DEV 看 rx/tx。入站打多多半是攻击或下载,出站打多是响应或外发。

Q4:CDN 能省多少带宽?

看命中率。静态资源命中 90% 以上,源站带宽能降一个数量级;动态 API 省不了太多。

Q5:限速会不会影响正常用户?

会,所以要按 IP/路径分层,别全站一刀切。下载站可以限单连接,API 按用户限流。

总结

带宽跑满先分正常高峰、异常进程和攻击,再决定优化、限速、清洗还是升带宽。先看方向、连接数和来源,再动手,比盲目升级有效。

需要一台带宽更宽裕的机器做分流或压测,可以按小时开一台萤光云香港 CN2 VPS,先测晚高峰。

相关推荐

赞(0)
未经允许不得转载:VPS知识分享站 » 云服务器带宽跑满:限速、流量包与攻击排查