嵌入式开发交流网论坛

标题: 服务器带宽监测与利用率过高的解决办法 [打印本页]

作者: ____莫丶    时间: 2020-3-26 14:48
标题: 服务器带宽监测与利用率过高的解决办法
一、服务器带宽检测的办法

1、Linux 终端下使用Speedtest测试

curl -s http://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
[attach]40701[/attach]

Speedtest测试
2、Windows网页在线测试

Speedtest by Ookla - The Global Broadband Speed Test
测速网 - 在线网速测试,网络测速 - SpeedTest.cn
3、览器插件(Chrome)

插件名称如下图所示,扶墙请自行解决
[attach]40702[/attach]

Windows网页在线测试
[attach]40703[/attach]

插件测试
二、云服务器带宽占用过高的解决办法

当发现ECS服务器带宽利用率过高的时候,通常希望第一时间找到哪一个进程占用了带宽,从而才能够分析并且处理,接下来我们就具体介绍一下Linux和Windows系统下如何使用对应的工具找到并且处理占用带宽高的进程。
1、Linux下查看进程的带宽使用情况

NetHogs 介绍
NetHogs 是 Linux 平台下的一个开源命令行工具,用来实时统计各进程的带宽使用情况。在 CentOS 下可以使用如下命令进行安装:
yum install nethogs
NetHogs 使用方法
终端输入以下命令可以看到 NetHogs 的可用参数以及具体用法。
nethogs -h
[attach]40704[/attach]

Linux查看带宽使用情况
下面介绍下常用的参数:
-d:设置刷新的时间间隔,默认为 1s。
-t:跟踪模式。
-c:更新次数。
device:设置要监控的网卡,默认是 eth0。
运行时可以输入以下参数完成相应的操作:
q:退出。
s:按发送流量进行排序。
r:按接收流量进行排序。
m:切换是显示各进程使用的网络速率亦或是使用的流量,或者使用流量的计量单位。切换顺序为 KB/s > KB > B > MB。
下图展示了在 Linux 上运行 nethogs -d 10 并按发送数据量进行排序的结果,以此为示例,介绍 NetHogs 的输出。通过切换按发送/接收流量排序,可以很方便的获取占用发送/接收流量较多的进程。
[attach]40705[/attach]

nethogs -d 10
PID:进程 ID。
USER:运行该进程的用户。
PROGRAM:程序名或IP端口号。
DEV:流量要去往的网络接口。
SENT:进程每秒发送的数据量。
RECEIVED:进程每秒接收的数据量。
Windows下查看进程的带宽使用情况
2、Windows 资源监视器

资源监视器是 Windows下以进程为单位了解 CPU、内存、磁盘、网络等资源的使用情况的工具。
可以在任务管理器,性能 tab 单击打开资源监视器打开。
[attach]40706[/attach]

Windows性能监控
或者在运行中输入 resmon.exe,确定打开
[attach]40707[/attach]

resmon.exe
单击资源监视器的网络 tab,就可以看到每个进程的带宽使用情况。单击发送,按发送数据量进行排序,单击接收按照接收数据量进行排序。排序后,可以方便的看到具体是哪个进程占用了网络资源。
[attach]40708[/attach]

带宽监控
结果分析及处理
知道占用资源较多的进程后,需要分析进程所属的类型,然后进行:
分析是否正常进程(系统进程/业务常见进程)起。如果无法完全确认,建议使用进程名进程搜索确认。
如果是异常进程,实例可能中毒,可以自行终止进程、使用安全软件进行查杀或者进行数据备份后,重装系统。
正常的业务进程,分析是否有大量的网络访问行为,是否通过压缩文件解决网络带宽的资源瓶颈。否则建议升级实例配置。




欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2