不花一分钱,服务器带宽流量优化实战指南

前置准备



  • 一台服务器:已安装 CentOS 7/8、Ubuntu 20/22 或 Debian 系统,且有 SSH 权限。

  • 宝塔面板(可选):已安装宝塔面板(curl -s install.bt.cn | bash)且能通过 http://你的IP:8888 访问。

  • 基本概念:带宽(单位 Mbps)即流量传输速率;流量(单位 GB)即一段时间内传输的数据总量。本文优化指监控当前占用 + 限制单 IP 或总带宽,防止被单个应用占满。


如果你只懂网页操作,推荐直接使用宝塔面板步骤;如果你喜欢命令行,跳到“分步操作·命令行方案”。

分步操作


方案一:宝塔面板(图形化,适合新手)



  1. 登录宝塔面板 → 左侧菜单「监控」→ 点击「带宽」标签,可看到实时的流入/流出曲线。

  2. 开启站点限速:左侧「网站」→ 选择目标站点 → 点击「设置」→「限速」→ 勾选「开启限速」,填写单连接速度(如 1024 KB/s)和并发数(如 50)。点击保存。

  3. 全局流量限制:左侧「安全」→「防火墙」→ 添加规则:端口范围1:65535,协议 TCPUDP源IP 留空,动作 限制速率10M(即总带宽限制 10 Mbps)。

  4. 验证:几秒后打开站点测试下载,速度应被限制在约 1.25 MB/s。


方案二:命令行(通用,适合无面板场景)


1. 安装监控工具 iftop


# CentOS/RHEL
yum install -y epel-release && yum install iftop -y

Ubuntu/Debian

apt-get install iftop -y


运行 iftop -i eth0(网卡名替换为实际,可用 ip a 查看),按 q 退出。

观察哪个 IP 的流量飙高。


2. 使用 tc 限制单 IP 带宽(以 eth0 网卡为例)


# 下载大文件测试前,先清理已有规则(可选)
tc qdisc del dev eth0 root 2>/dev/null

创建根队列,限制总带宽为 10Mbps

tc qdisc add dev eth0 root handle 1: htb default 30

创建父类,限速 10Mbps

tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit ceil 10mbit

创建子类,针对 IP 192.168.1.100 限速 2Mbps

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit ceil 2mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.100 flowid 1:10


替换 192.168.1.100 为你想要限制的 IP 地址。如果想限制多个 IP,重复添加 filter。

3. 验证限速效果


在目标 IP 的机器上执行 wget http://你的服务器IP/大文件 观察速度。

或在本机运行 iftop -i eth0 查看实时流量。


避坑指南



  1. tc 规则重启后失效:建议写入开机自启脚本(如 /etc/rc.local 或 systemd service)。

  2. 宝塔限速对 CDN 无效:如果网站套了 CDN,限速应设在源站层或 CDN 控制台。

  3. 别把 SSH 排除了:使用 iptables 限制前,确保已添加允许 SSH(22端口)的规则,否则会把自己卡掉。

  4. 监控插件占用带宽:部分监控脚本(如 netdata)会自产流量,需排除自身才算带宽优化。


高频问题解答



  • Q:服务器带宽跑满了,怎么快速找到“罪魁祸首”?


A:SSH 运行 nethogs(安装:apt-get install nethogsyum install nethogs -y),按进程实时显示带宽占用,最直观。



  • Q:宝塔面板限速后速度没变?


A:检查是否开启了 CDN;

另外宝塔的限速仅对 80/443 端口生效,如果通过其他端口(如 8080)传输,不会被限制。



  • Q:tc 限速后某 IP 仍然超速?


A:确认 filter 的 match 方向:src 控制传出流量,dst 控制传入流量。

如果流量方向反了,规则无效。


效果验证



  1. 验证监控是否正常工作:在服务器上连续运行 iftopnethogs,用另一台机器下载大文件,观察流量变化。

  2. 验证限速是否生效



  • 宝塔:在站点设置里查看限速状态,或通过测速网站测试下载速度。

  • 命令行:用 tc -s qdisc show dev eth0 查看统计信息,rateceiling 应该有实际值。



  1. 验证业务是否受影响:打开网页、API 接口,确认关键业务响应正常。如果限速后页面加载变慢,适当调高限制值。


如果你正在处理服务器带宽流量优化,建议先按本文步骤完整执行,再根据自己的环境做微调;

遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
Docker私有仓库搭建步骤详解,零基础也能一次完成
下一篇
零基础也能学会:宝塔面板一键迁移网站全流程
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意