Windows实例网络带宽使用率较高问题的排查与处理

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

Windows系统中,可以通过任务管理器、资源监视器或者Wireshark等工具查看网络流量指标。本文主要介绍Windows实例中带宽使用率较高问题的排查及解决方法。

问题现象

使用 Windows 系统的ECS实例时,出现如下现象。

  • 服务响应时长较长或出现访问超时等问题。

  • 通过ECS控制台查看实例网络指标监控时,发现网络带宽使用率较高(参考值:当前网络流量带宽使用率>80%,可认为网络流量带宽使用率较高)。

  • 收到网络流量带宽使用率超过设定阈值的告警信息。

可能原因

带宽使用率较高可能有以下原因。

  • 正常业务频繁访问,导致占用较高带宽。

  • 恶意病毒、木马引起的网络流量。

    说明

    有时,第三方恶意程序可能会利用操作系统中的svchost.exetcpsvcs.exe进行伪装,从而导致上述进程的带宽使用率较高。

  • Windows实例自身服务(例如:Windows Update服务)占用较高网络流量。

排查步骤

使用资源监视器查看网络指标

Windows实例中,有多种工具可以定位带宽使用率过高的问题,包括任务管理器、资源监视器(Resource Monitor)、性能监视器(Performance Monitor)、Process Explorer等。此外,您还可以使用Wireshark抓取一段时间的网络包,以便进一步对流量数据包进行分析。

说明

Windows Server 2008以上系统,通常使用系统自带的资源监视器监控带宽。

  1. 使用Workbench终端连接登录Windows实例(RDP)

  2. 在任务栏上单击搜索,输入资源监视器并按回车键。

  3. 资源监视器页面中,查看带宽使用率过高的进程。

    image

    说明

    如需查看进程的详细信息,请使用任务管理器。在任务管理器的进程选项卡视图中,找到在资源监视器中识别的异常进程。右键单击该进程名称,选择属性转到详细信息或者打开文件位置,通过上述信息判断该进程是否为恶意程序。

(可选)使用TCPView查看网络连接信息

如果在资源监视器中未发现占用带宽使用率较高的进程信息,但实例带宽使用率依然很高,那么很可能是外部服务在进行访问。在这种情况下,您可以使用微软官方提供的TCPView工具进行进一步的分析。该工具能够显示系统上所有TCPUDP网络连接的详细列表,包括本地和远程地址以及TCP连接的状态。

  1. 下载并解压TCPView工具。

    访问微软官网下载TCPView工具,下载后对压缩文件进行解压。

  2. 双击打开TCPView工具并查看网络带宽详情。

    image

    如上图所示,可以看到远程地址123.xxx.xxx.74正在向实例传输数据,占用最大网络带宽资源。

(可选)使用Wireshark分析流量情况

若需对流量数据包进行深入分析,您可以利用Wireshark进行数据包的捕获与分析。

  1. 安装并打开Wireshark工具。

    访问Wireshark官方网站,获取安装包并完成Wireshark工具的安装。

  2. 选择捕获 > 选项

  3. Wireshark 捕获选项页面,根据接口名称或对应的IP地址选择需要进行抓包的网卡,然后单击开始

    image

  4. Wireshark工具栏中依次选择Statistics>Conversations

  5. Conversations页面上,您可以看到所有网络通信,从链路层、IP层、TCP层分别给出了流量的具体情况和通信两端的流量情况。通过抓取一段时间的网络包可以分析究竟是哪些连接、端口占用了较高的流量。

    image.png

说明

您可以通过抓包进一步分析网络数据包,具体操作,请参见Windows实例中使用Wireshark工具

处理网络带宽使用率较高问题

常见网络带宽使用率较高问题的原因及解决方案如下。

问题现象

原因

解决方案

异常用户程序或进程长时间占用大量网络资源,或者非法IP地址恶意访问服务,从而导致网络负载较高。

该程序为异常程序或进程,运行时占用过多网络资源。

  • 通过在资源监视器定位到占用网络资源较多的程序的PID,并通过资源监视器或任务管理器结束进程。

    警告

    在您结束进程前,请务必确保您了解该进程的相关信息,避免因误操作导致您的业务中断。

  • 使用安全组对非法IP地址访问进行拦截,相关操作,请参见管理安全组规则

  • 如果怀疑进程为恶意程序,您可以对其进行查杀,相关操作,请参见病毒查杀

  • 若服务器或站点遭受DDoS攻击或CC攻击等情况,将会在短时间内产生大量的访问需求。您可以登录云安全中心,以检查防护DDoS攻击的阈值设置是否合适,并确认CC防护是否已开启。

正常用户程序或进程长时间占用大量网络资源,或者有指定IP地址访问服务,从而导致网络负载较高。

该程序为正常业务程序或进程,运行时占用过多网络资源。

一般情况下,当频繁访问业务,或由于Windows自身服务(更新服务等)都可能会占用较高网络流量和CPU 。如果实例出现网络性能瓶颈,您可以结合实际情况选择相应的处理策略。

  • 检查后台是否有执行Windows Update的行为。

  • 升级实例带宽。相关操作,请参见修改带宽配置

    说明

    若当前实例的带宽已达到最大值,仍无法满足正常业务对带宽资源的需求,建议您考虑进行应用分离。通过不同的服务器承载各个应用服务,例如,您可以选择RDS来承载数据库服务,从而减轻ECS实例的资源消耗及其内部大量的调用。

  • 优化业务程序。

    可以考虑优化业务代码,调整应用配置参数,如连接数、缓存配置以及Web和数据库的配置参数等。

单个业务程序或进程偶发网络资源占用较高,但持续时间较短,且发生频率较低。

业务程序需要优化,以解决特殊业务场景(大文件上传、下载)触发的网络资源占用过高问题。

优化业务程序。

可以考虑优化业务代码,调整应用配置参数,如连接数、缓存配置以及Web和数据库的配置参数等。

没有单个程序或进程占用网络资源,但整体网络负载较高。

当前实例的服务正常运行所需网络资源性能大于实例的网络带宽。

如果实例出现网络性能瓶颈,您可以选择升级带宽。相关操作,请参见修改带宽配置

说明

若当前实例的带宽已达到最大值,仍无法满足正常业务对带宽资源的需求,建议您考虑进行应用分离。通过不同的服务器承载各个应用服务,例如,您可以选择RDS来承载数据库服务,从而减轻ECS实例的资源消耗及其内部大量的调用。

相关文档