ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

为什么服务器一个月几十GB够用,手机刷视频却几个小时就没了?

为什么服务器一个月几十GB够用,手机刷视频却几个小时就没了? 文章目录先看懂面板里的四个数字同一份数据两边的叫法正好相反服务器和外界是怎么交互的普通网站为什么一个月只用几十GB手机为什么几个GB很快就没了哪些业务会让服务器流量暴涨lo 和 eth0 有什么区别lo服务器内部使用eth0服务器连接外部网络为什么“所有”和 eth0 的数字可能不同同样下载1GB服务器记录可能完全不同阿里云、腾讯云和本机面板分别怎么看腾讯云先分内网和公网阿里云总带宽和公网带宽不要混看为什么三个地方的数据对不上想查是谁在消耗流量最后总结很多人第一次买服务器都会盯着面板里的流量曲线看半天手机刷一会儿视频几个GB很快就没了。服务器跑着网站怎么一个月才用几十GB再往下看问题更多了上行和下行分别代表什么总发送只有两百多MB总接收为什么有4GB网卡列表里的lo、eth0和“所有”又有什么区别这些概念并不复杂关键是先确定一件事站在谁的角度看流量。先看懂面板里的四个数字以常见服务器面板为例面板字段实际含义上行服务器当前向外发送数据的速度对应TX下行服务器当前从外部接收数据的速度对应RX总发送服务器累计发送的数据总接收服务器累计接收的数据上行、下行通常显示的是当前速度或当前采样周期的数据总发送、总接收则是累计值。累计周期可能从系统启动、监控启动或面板设定的统计时间开始具体要看面板实现。因此当前上行只有几百字节并不代表之前没有产生大流量。还有一个很容易写错的公式双向总流量 总发送TX 总接收RX不是发送减去接收。需要注意不同平台对“上行、下行”的叫法可能存在差异。最稳妥的办法是看它对应的是“发送”还是“接收”或者直接认TX和RX。同一份数据两边的叫法正好相反用户打开一个网站时过程可以简化为用户 → 发送请求 → 服务器 用户 ← 返回页面 ← 服务器从用户设备的角度看发送请求是上行接收页面是下行。但从服务器面板的角度看接收请求是下行也就是RX返回页面是上行也就是TX。例如浏览器发出一个3KB的请求服务器返回一个800KB的页面服务器接收约 3KB 服务器发送约 800KB所以普通网站通常会出现发送量大于接收量的情况但这并不是固定规律。服务器和外界是怎么交互的服务器与手机、电脑之间传输的本质上都是一个个网络数据包。以常见的VPS销售网站或魔方财务系统为例浏览器 ↓ Nginx ↓ Java ↓ MySQL用户先建立TCP连接再发送HTTP请求。Nginx把请求交给Java处理Java查询MySQL最后把HTML或JSON返回给浏览器。这里要分清公网流量和服务器内部通信。通常只有“浏览器与服务器”之间的数据经过公网Nginx、Java和MySQL之间如果使用本机端口、Unix Socket或云内网并不会全部计入公网流量。使用场景服务器哪边流量更明显用户打开网页、下载文件发送流量更大用户向服务器上传文件接收流量更大服务器下载更新、镜像接收流量更大服务器上传备份发送流量更大代理、VPN、转发服务发送和接收都可能很大因此看到“总接收4GB、总发送226MB”并不奇怪。服务器可能下载过系统更新、Docker镜像、安装包或备份也可能有人向服务器上传过文件。普通网站为什么一个月只用几十GB普通网站的请求和响应通常不大。一个HTTP请求可能只有1KB到10KB服务器返回的HTML、CSS和JavaScript也往往只有几百KB。例如一个不包含大图和视频的静态首页HTML50KB CSS100KB JavaScript300KB 合计约 450KB完整加载1000次大约是450KB × 1000 ≈ 450MB实际流量还会受到图片、字体、接口请求、压缩、浏览器缓存和CDN影响但数量级基本就是这样。再举一个VPS销售网站的例子首页500KB 商品页300KB 订单页200KB 支付页200KB 完整走一遍约 1.2MB如果每天有1000人完整访问一次并且暂时不考虑缓存1.2MB × 1000 × 30天 ≈ 36GB这就是很多小型IDC官网、财务系统和工单系统一个月几十GB流量就够用的原因。手机为什么几个GB很快就没了原因不是手机更费流量而是手机主要在接收图片、音频和视频。下面只是常见范围不同平台的编码和码率会有很大差异内容大致流量一张高清图片1MB5MB720P视频一小时约0.5GB1.5GB1080P视频一小时约1.5GB4GB4K视频一小时约7GB20GB一次视频播放产生的流量可能抵得上几千次普通网页访问。另外手机接收的数据不一定经过你的业务服务器。现在很多网站会把图片、视频和安装包放到CDN或对象存储业务服务器只负责登录验证、订单处理和返回文件地址。用户下载了1GB视频手机确实消耗了约1GB流量但你的业务服务器可能只返回了几KB的地址和鉴权信息。真正发送视频的是CDN。哪些业务会让服务器流量暴涨真正烧流量的通常不是后台管理系统而是大文件持续传输业务流量为什么高视频、直播、短视频每个用户都要持续接收音视频数据下载站、镜像站一个系统镜像就可能有数GB网盘和文件分发用户反复上传、下载大文件代理、VPN用户的大部分网络数据都会经过服务器CDN源站缓存未命中时CDN需要从源站拉取文件一个用户看2GB视频100个用户就是约200GB一个5GB系统镜像被下载100次就是约500GB。大文件业务的流量增长非常直接用户数翻倍流量通常也跟着接近翻倍。对象存储也可能产生几十TB流量但用户直接从OSS、COS或S3下载时消耗的是对象存储服务的流量不一定是业务服务器流量。只有文件经过服务器转发或者CDN向源站回源才会计入对应服务器。很多IDC商家的官网、财务系统、支付系统和工单系统一个月可能只用几十GB。真正消耗大量流量的是客户购买的VPS和后端节点服务器。官网服务器 2核4G、普通公网带宽、几十GB/月 节点服务器 1Gbps带宽、数TB到数十TB/月两者承担的工作不同不能只看“都是服务器”就放在一起比较。lo 和 eth0 有什么区别网卡下拉框里的lo是小写字母L开头不是Io。lo服务器内部使用lo是Loopback也叫本机回环网卡常见地址是127.0.0.1 ::1例如Nginx把请求转给本机的Java、Node.js或PHP服务就可能经过loNginx → 127.0.0.1:8080 → 应用程序数据只在服务器内部流转不经过公网。因为数据从本机发出后又被本机接收所以lo的总发送和总接收通常比较接近。eth0服务器连接外部网络eth0通常是服务器对外通信的主要网卡。用户访问网站、SSH连接、下载安装包、调用外部API大多会经过它。云服务器里的eth0不一定是真正的物理网卡也可能是虚拟网卡但使用方式没有本质区别。如果面板中只有lo和eth0而lo只有几KB那么“所有网卡”的流量基本就来自eth0。为什么“所有”和 eth0 的数字可能不同本机管理面板中的上行、下行是当前速度总发送、总接收是累计数据。其他服务器管理面板通常直接读取Linux网卡计数器。截图中显示当前上行82.0KB 当前下行65.2KB 总发送33.8GB 总接收22.4GB前两个数字反映当前采样时刻后两个数字反映累计结果不能放在一起直接比较。“所有”一般是把系统识别到的多个网络接口汇总起来例如lo eth0 docker0 veth... 内网网卡截图里的docker0和br-bd...都是容器相关的虚拟网卡。它们并不是新的公网线路而是Docker容器与宿主机之间的数据通道。如果服务器使用了Docker同一份数据可能先经过容器虚拟网卡再经过eth0面板汇总时就可能出现重复统计。因此“所有网卡”的累计数据适合观察服务器整体活动但不一定等于公网实际流量更不一定等于云厂商的计费流量。想看服务器和外界的主要通信情况优先选择eth0想排查容器或本机程序之间的通信再查看其他网卡。同样下载1GB服务器记录可能完全不同如果文件直接放在服务器上服务器 → 用户发送约 1GB如果文件由CDN或对象存储提供业务服务器 → 用户返回文件地址 CDN → 用户发送约 1GB此时手机用了1GB业务服务器可能只用了几KB。如果服务器充当代理或VPN目标网站 → 服务器接收约 1GB 服务器 → 用户发送约 1GB服务器网卡的双向累计流量可能接近2GB但云厂商通常更关注公网出方向流量实际还要看具体计费规则。阿里云、腾讯云和本机面板分别怎么看云厂商控制台和服务器管理面板观察的不是同一个位置。服务器面板读取操作系统网卡数据可能包含公网、内网、本机和容器流量云厂商则在云网络出口统计更适合查看公网带宽和计费相关数据。腾讯云先分内网和公网腾讯云监控会把内网和公网分开。内网监控中常见的指标包括内网出带宽、内网入带宽单位通常是Mbps。内网出包量、内网入包量单位是“个/秒”。TCP连接数表示同时存在的连接数量。内网流量是云服务器与同一云网络中的数据库、缓存、其他服务器之间的通信通常不是普通用户访问网站产生的公网流量。公网监控里更值得关注的是腾讯云指标含义公网出带宽服务器向互联网发送数据的速度公网入带宽服务器从互联网接收数据的速度公网出包量、入包量每秒发送或接收的数据包数量公网出流量统计周期内实际发出的数据量Mbps表示速度MB、GB表示累计数据量两者不能直接比较。例如1Mbps持续跑一小时大约会产生450MB流量1Mbps × 3600秒 ÷ 8 ≈ 450MB包量也不等于流量。大量很小的请求可能让“个/秒”很高但累计数据量仍然不大。阿里云总带宽和公网带宽不要混看在这张阿里云ECS监控图中“总带宽”卡片显示内网流入和流出“公网带宽”则单独显示公网流入和流出。判断网站用户产生的公网流量优先看公网流出带宽服务器 → 互联网 公网流入带宽互联网 → 服务器曲线旁边的最大值、最小值和平均值描述的是所选时间范围内的带宽速度不是这段时间累计用了多少GB。阿里云监控页面还会同时出现下面几类指标公网流出带宽使用率当前出方向带宽占购买带宽的比例。磁盘读取写入BPS磁盘每秒读写多少字节。磁盘读取写入IOPS磁盘每秒执行多少次读写。磁盘BPS虽然也使用bytes/s但它统计的是硬盘不是网络。下载文件时网络和磁盘曲线可能一起上升但两者不能相加。“同时连接数”表示某一时刻存在多少条连接。连接数高不一定流量大两万个空闲长连接可能几乎不传数据一个用户下载大文件却可能占满带宽。为什么三个地方的数据对不上查看位置主要统计什么适合用来做什么面板类Linux网卡收发数据排查服务器和进程活动阿里云、腾讯云监控云网络中的带宽、包量、连接数判断公网与内网负载云厂商流量账单按产品规则统计的计费流量确认套餐和费用很多云产品主要对公网出方向流量计费公网入方向通常免费但不同产品、地域和计费方式可能不同最终要以实例的计费规则为准。查看流量时至少要分清四件事现在看到的是Mbps速度还是MB/GB数据量。选择的是eth0还是“所有网卡”。查看的是公网、内网还是容器虚拟网卡。当前页面是性能监控还是最终计费账单。想查是谁在消耗流量可以在Linux服务器上使用下面几个工具# 查看 eth0 累计发送和接收ip-slinkshow eth0# 实时观察上行和下行速度nload eth0# 查看哪些连接正在占用带宽iftop-ieth0# 按天、按月统计流量vnstat-ieth0其中nload、iftop、vnstat可能需要提前安装。只想快速确认网卡累计数据先看ip -s link show eth0就够了。最后总结服务器流量并不天然比手机少。普通网站流量不高是因为它传输的多是文字、接口数据和少量静态资源视频、下载、直播、代理和VPN才是真正的流量大户。面板中的lo负责本机通信eth0负责主要的对外通信上行表示服务器发送下行表示服务器接收。至于云厂商怎么收费还要再看它统计的是不是公网出方向流量。一句话概括流量记在谁头上不看数据最后到了哪台设备而看它实际经过了哪条网络路径。
返回列表