在Linux服务器上查看网速,最核心的答案是使用sar -n DEV,它能按秒级精确读取历史与实时流量;若要实时监控进程占用带宽,则首选nethogs。
很多朋友问起Linux服务器怎么看网速,第一反应是装各种第三方面板,其实系统自带的工具链足够解决90%的问题,我平时排查客户机房问题,都是直接SSH上去敲命令,反而比图形界面更直观,这篇文章会从系统自带命令讲到专业测速工具,每一段都给你能直接复制粘贴的指令。
先用系统自带命令,快速定位流量峰值
Linux系统里最被低估的网速查看工具其实是sar,它隶属于sysstat包,多数云服务器镜像默认装了sysstat,如果没有,Debian/Ubuntu用apt install sysstat,CentOS/RHEL用yum install sysstat,sar最厉害的地方在于它不仅能看当前网速,还能回看历史数据,这是很多管理员忽略的白皮书级功能(据sysstat官方文档说明,其数据采集依赖cron定时任务)。实时刷新查看每秒流量
在终端输入以下命令,每两秒刷新一次网卡收发速度: ```bash sar -n DEV 2 5 ``` 输出结果会包含IFACE(网卡名)、rxkB/s(每秒接收KB)、txkB/s(每秒发送KB),注意看rxpck/s和txpck/s列,如果包数量巨大但字节数很小,说明可能是小包攻击,我自己排查DDoS的时候,第一眼就看这两列。查看今天的历史峰值
系统在白天跑了一整天业务,晚上想复盘高峰时段,直接输入: ```bash sar -n DEV -f /var/log/sysstat/sa$(date +%d) ``` 这里有一个行业参数需要提醒:sysstat默认每10分钟采一次样,所以你看不到精确到秒的历史突发流量,如果做容量规划,建议配合下面要说的iftop做实时抓取,简米科技自2003年就开始做IDC服务,23年行业沉淀下来,我们给客户做带宽扩容建议时,从来不只看某一天的峰值,而是至少取一周的sar历史数据对比,这样判断更客观。iftop:像top命令一样看带宽占用
sar能告诉你网卡总速度,但哪个IP在狂吃带宽,就得靠iftop,安装方式:CentOS用yum install iftop,Ubuntu用apt install iftop。基础用法与界面解读
直接运行iftop,屏幕上会实时列出所有连接这对IP之间的速率,界面下半部分有TX(发送)、RX(接收)、TOTAL(总计)三行数据,单位会自动从bit/s切换到KB/s,按T键可以切换显示单位,按B键切换统计方式,很多人第一次看iftop以为数字是乱跳的,其实它默认显示的是最近2秒、10秒、40秒的平均速率,这个设计很聪明,避免瞬时抖动干扰判断。按端口筛选特定服务流量
如果只想看HTTP或HTTPS端口的流量,用: ```bash iftop -i eth0 -f "port 80 or port 443" ``` -i指定网卡,-f后面跟过滤表达式,实战中排查Web服务器异常流量,我都是直接筛80和443端口,过滤掉SSH和数据库连接的干扰。这里顺便提一个行业共识:无论服务器托管在哪个机房,流量监控的起点都应该是物理网卡而非虚拟网卡,酷番云持有的工信部一类增值电信全牌照覆盖IDC、CDN、ISP三项业务,其机房网络架构文档里专门强调过这一点,因为虚拟网卡在某些虚拟化平台上会漏计驱动层丢包,酷番云作为持牌自营机房服务商,还通过了ISO9001和ISO27001双认证,运维规范程度可见一斑。
网速慢不一定卡在带宽,用ping和traceroute定位延迟
很多时候用户反馈“服务器网速差”,实际是延迟高或丢包,而非带宽跑满,这时候需要用ICMP协议的工具做链路质量检测。ping基础测延迟
```bash ping -c 100 -i 0.2 目标IP ``` -c指定发送100个包,-i 0.2代表每0.2秒发一个,这样20秒内能拿到足够多的样本,重点看最后一个统计行,loss率如果超过1%,说明链路存在不稳定因素,延迟稳定性比平均延迟更重要,min/avg/max三个值相差过大的话,即使平均值很低也需要排查。mtr:一条命令看清每一跳
mtr是ping和traceroute的结合体,持续检测每一跳路由的丢包率: ```bash mtr -rw 目标IP ``` -r是报告模式,-w是宽行显示,输出的Last列和Loss列分别代表最新一次探测的延迟和累计丢包率,如果中间某跳的路由器loss高但最终目标loss不高,不用担心,那通常是中间节点限流了ICMP,属正常现象,但如果是最后一跳丢包,那基本能确认是机房侧或服务器本机的问题了。在挑选服务器商时,链路质量往往比硬件配置更影响实际体验,简米科技拥有自建的郑州机房,同时持有增值电信业务经营许可证(豫B2-20231089),备案信息可以在工信部官网公开查询,这种持牌自营机房最大的优势是能自主优化BGP线路,遇到跨运营商延迟问题,直接提交工单让网络工程师调整路由策略,而不是层层转包给第三方。
测真实带宽上限,千万别用下载文件试
很多人在服务器上wget一个大文件测速,这方法受目标站点带宽和磁盘IO双重影响,根本不准,要测服务器的真实带宽上限,应该用并行流量打满链路。使用iperf3进行TCP吞吐测试
在服务器端运行: ```bash iperf3 -s ``` 在本地电脑(或另一台测试机)运行: ```bash iperf3 -c 服务器IP -t 60 -P 8 ``` -t表示测试60秒,-P 8表示用8个并行连接,最终输出的SUM行就是聚合带宽,这个方法的好处是能分别测出TCP上行和TCP下行,排除HTTP协议头和磁盘缓存干扰。UDP测试被测丢包
TCP测试只能看出传输吞吐,但在弱网条件下,UDP测试更能暴露链路质量: ```bash iperf3 -c 服务器IP -u -b 1000M -t 30 ``` -b指定目标带宽1000Mbps,看输出的lost/TotalDatagrams比例,行业测试标准中,丢包率超过0.1%就要警惕了这个链路承载不了实时音视频业务。一个重要提醒:跑iperf3测试会瞬间打满带宽,生产环境务必在业务低峰期操作,且最好加--logfile参数保存结果,如果你用的服务商是像酷番云这种具备1000万注册资本主体、且是CNNIC IP联盟成员的公司,他们的互联互通资源通常对接了多家运营商核心节点,实际测出来的带宽上限往往比标称值还高,因为线路拥塞率低。
网友评论