搬瓦工流量监控和管理教程

作者:编辑部
流量监控 流量管理 资源管理
预计 10 分钟 难度:入门

前置准备

  • 已购买搬瓦工VPS

我实测搬瓦工用了两年多,流量这个问题一开始确实让我有点慌。刚买的时候不知道流量怎么算、用多少了、超了会怎样,心里没底。后来摸清了计费规则、装了监控工具之后就踏实了。说实话对大部分人来说搬瓦工的流量配额是够用的,但不了解规则的话容易踩坑——比如有人不知道只计出站流量,以为双向计费,天天担心流量不够用。这篇教程把流量相关的所有知识点都讲清楚。

还没有搬瓦工VPS?点击购买

各方案流量配额一览

先看看搬瓦工各方案每月给多少流量,心里有个数。

方案月流量带宽价格流量单价
CN2 GT 入门1000GB1Gbps$49.99/年约$0.004/GB
CN2 GT 40G2000GB1Gbps$99.99/年约$0.004/GB
CN2 GIA-E 入门1000GB2.5Gbps$49.99/季约$0.017/GB
CN2 GIA-E 40G2000GB2.5Gbps$99.99/季约$0.017/GB
CN2 GIA-E 80G3000GB5Gbps$199.99/季约$0.022/GB
香港方案500GB1Gbps$89.99/季约$0.060/GB
日本方案500GB1Gbps$89.99/季约$0.060/GB

注意:香港和日本方案的流量配额比美国方案少很多,而且单价也贵不少。如果你的用途比较吃流量,选美国机房的方案更划算。

想了解各方案的详细配置,可以查看CN2 GIA-E方案详解最便宜方案推荐

第一步:在KiwiVM面板查看流量

查看流量使用情况最直接的方法就是去KiwiVM面板看。

操作步骤

  1. 登录KiwiVM面板
  2. 进入Main controls页面
  3. 在页面上方可以看到流量信息:
    • Data usage:当月已使用的流量
    • Data remaining:当月剩余流量
    • Monthly data transfer:月流量配额
    • Data counter reset:下次流量重置日期

面板上会有一个图形化的进度条,直观展示流量使用比例。如果不知道怎么进KiwiVM面板,可以参考KiwiVM面板使用教程

流量显示单位换算

KiwiVM面板上的流量单位可能是GB或者bytes,换算关系:

单位换算
1 TB1024 GB
1 GB1024 MB
1 MB1024 KB

第二步:流量计费规则详解

搬瓦工的流量计费规则和很多人想象的不一样,搞清楚这些规则能帮你更好地管理流量。

核心规则

规则说明
计费方向只计算出站流量(Outbound)
入站流量完全不计费(Free)
计费周期按月计算,每月固定日期重置
重置日期以VPS购买日期为准,不是每月1号
超额处理VPS被暂停,下月自动恢复
流量叠加不支持叠加,剩余流量不会累积到下月

什么是出站流量

简单说,从你的VPS发出去的数据就是出站流量。举几个例子:

  • 用户访问你VPS上的网站,服务器返回网页内容 → 这算出站流量
  • 你从VPS下载文件到本地电脑 → 这算出站流量
  • 你从本地电脑上传文件到VPS → 这不算流量(入站)
  • VPS执行系统更新、下载软件包 → 这不算流量(入站)

我实测发现:搬瓦工的流量统计和KiwiVM面板上显示的数值偶尔会有几个小时的延迟,不是完全实时的。所以不要因为看到面板上的数值没变就以为流量没在用。

流量重置时间

很多人以为流量是每月1号重置的,其实不是。搬瓦工的流量重置日期是根据你VPS的购买日期来定的。比如你是2月15号买的,那流量就是每月15号重置。

在KiwiVM面板的Main controls页面能看到「Data counter reset」,显示的就是下次重置的具体日期。

第三步:安装vnStat流量监控工具

KiwiVM面板虽然能看流量,但信息比较粗略。装一个vnStat可以看到更详细的流量统计,比如每天用了多少、每小时的流量峰值等。

安装vnStat

# CentOS
yum install epel-release -y
yum install vnstat -y

# Ubuntu
apt install vnstat -y

启动vnStat

# 启动服务
systemctl start vnstat
systemctl enable vnstat

# 初始化网卡监控(eth0是常见的网卡名,你的可能不同)
vnstat -i eth0

如果不确定网卡名称,执行 ip addr 查看。常见的网卡名有 eth0ens3ens18 等。

vnStat常用命令

命令功能说明
vnstat总览显示每日和每月流量汇总
vnstat -h每小时统计最近24小时的流量
vnstat -d每日统计最近30天每天的流量
vnstat -m每月统计每月流量汇总
vnstat -t流量最高的日子Top10流量日
vnstat -l实时监控实时显示当前的上传下载速度

我最常用的是 vnstat -d,能清楚看到每天用了多少流量,哪天流量异常一目了然。有一次我发现某天流量突然暴增了50GB,排查发现是被人恶意刷了网站导致的。

查看示例输出

执行 vnstat -d 后会看到类似这样的输出:

 eth0  /  daily

         day        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     02/15/2026     1.2 GiB |    3.5 GiB |    4.7 GiB |   445 kbit/s
     02/16/2026     0.8 GiB |    2.1 GiB |    2.9 GiB |   278 kbit/s
     02/17/2026     1.5 GiB |    4.8 GiB |    6.3 GiB |   599 kbit/s

其中 tx 就是出站流量(搬瓦工计费的部分),rx 是入站流量(不计费)。

第四步:设置流量告警

光看不够,最好能在流量快用完的时候收到通知。我写了一个简单的告警脚本,流量达到设定阈值时自动发邮件。

安装邮件发送工具

# CentOS
yum install mailx -y

# Ubuntu
apt install mailutils -y

创建流量告警脚本

vi /root/traffic-alert.sh

写入以下内容:

#!/bin/bash

# 配置项
LIMIT_GB=800          # 告警阈值(单位GB)
EMAIL="your@email.com"  # 接收告警的邮箱
INTERFACE="eth0"       # 网卡名称

# 获取当月出站流量(单位KB)
TX_KB=$(vnstat --oneline -i $INTERFACE | awk -F\; '{print $10}')

# 提取数值和单位
VALUE=$(echo $TX_KB | awk '{print $1}')
UNIT=$(echo $TX_KB | awk '{print $2}')

# 转换为GB
if [ "$UNIT" = "GiB" ]; then
    TX_GB=$VALUE
elif [ "$UNIT" = "MiB" ]; then
    TX_GB=$(echo "$VALUE / 1024" | bc -l)
elif [ "$UNIT" = "TiB" ]; then
    TX_GB=$(echo "$VALUE * 1024" | bc -l)
else
    TX_GB=0
fi

# 判断是否超过阈值
OVER=$(echo "$TX_GB > $LIMIT_GB" | bc -l)
if [ "$OVER" -eq 1 ]; then
    echo "警告:搬瓦工VPS本月出站流量已达 ${TX_GB}GB,超过告警阈值 ${LIMIT_GB}GB" | mail -s "搬瓦工VPS流量告警" $EMAIL
fi

设置定时检测

chmod +x /root/traffic-alert.sh

# 每6小时检测一次
crontab -e

添加一行:

0 */6 * * * /root/traffic-alert.sh

建议把告警阈值设为月流量配额的80%。比如你的方案是1000GB/月,阈值就设800GB。这样还有200GB的缓冲,收到告警后有时间排查原因和做应对。

流量节省技巧

如果你担心流量不够用,或者已经遇到了流量紧张的情况,可以试试以下方法。

优化方法节省效果适用场景说明
开启Gzip压缩节省60-70%网站服务文本内容压缩后传输
使用CDN节省50-80%网站服务静态资源由CDN分发
图片压缩/WebP节省30-50%图片较多的网站减少图片体积
限制日志传输节省5-10%所有场景关闭不必要的远程日志
优化数据库查询间接节省动态网站减少重复数据传输
设置缓存头节省20-40%网站服务浏览器缓存减少重复请求

Nginx开启Gzip压缩

如果你的VPS跑了网站,开启Gzip压缩是最简单有效的流量节省方法:

gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;

我实测开启Gzip后,一个WordPress网站的页面传输大小从平均800KB降到了250KB,流量直接省了三分之二。

使用CDN

把网站的静态资源(图片、CSS、JS)放到CDN上,用户请求这些文件时由CDN节点响应,不经过你的VPS,自然就不消耗VPS的流量。推荐用Cloudflare的免费方案,不限流量。

流量超额了怎么办

万一月底发现流量用完了,VPS被暂停了,别慌。

处理方法

方法操作等待时间
等待下月重置什么都不用做等到下个计费周期
升级方案在搬瓦工后台升级到更高流量的方案升级后立即恢复
购买额外流量目前不支持

注意:搬瓦工目前不支持单独购买额外流量。如果流量经常不够用,只能升级方案。

升级方案获得更多流量

如果你发现流量经常不够用,可以升级到更大流量的方案。具体操作可以参考前面的方案升级教程。升级后流量配额立即增加,已暂停的VPS也会恢复正常。

预防措施

  • 每月初检查上月的流量使用情况,如果连续几个月都用到80%以上,说明该升级了
  • 定期检查服务器日志,排查是否有异常流量
  • 使用CDN分担流量负载
  • 关闭不用的服务,减少不必要的流量消耗

更多搬瓦工使用技巧可以参考新手指南。如果遇到其他问题,查看常见问题大全。购买或升级方案时记得用最新优惠码

前往搬瓦工官网查看方案流量

搬瓦工流量管理常见问题

搬瓦工流量超了会怎样?
流量用完后VPS会被暂停(suspended),无法通过SSH或网页访问。不需要额外操作,等到下个月流量重置后VPS会自动恢复。如果急用,可以升级到更高流量的方案,升级后立即恢复。
搬瓦工流量够用吗?
看用途。入门方案1000GB月流量,跑个人博客或轻量应用绰绰有余。我自己的博客每月出站流量大概在50-100GB。如果跑视频流或大文件下载服务可能不够,建议选更大流量的方案或使用CDN分担。
搬瓦工流量是双向计费吗?
不是,搬瓦工只计算出站流量(从服务器发到用户的数据)。入站流量完全不计费,所以你往服务器上传文件、服务器下载系统更新这些操作不消耗流量配额。

常见问题

搬瓦工流量超了会怎样?
流量用完后VPS会被暂停(suspended),无法访问。等到下个月流量重置后自动恢复,或者提前升级方案获得更多流量。
搬瓦工流量够用吗?
看用途。入门方案1TB月流量,如果是个人博客或轻量应用完全够用。如果跑视频流或大文件下载,建议选择更大流量的方案。
搬瓦工流量是双向计费吗?
不是。搬瓦工只计算出站流量(从服务器发出的数据),入站流量不计费。
编辑部的头像

编辑部

了解更多