# Linux云服务器网络QoS超限怎么办？
#### 问题描述
- 系统出现网络时延大、丢包，服务响应时长较长等问题。
- 通过ECS控制台查看实例基础监控中的网络连接数、虚拟机出/入方向PPS、虚拟机出/入方向带宽时，发现指标监控结果超过了虚拟机规格QOS限制。
- 收到网络连接数使用率超过ECS规格QOS、网络PPS/带宽使用率超过ECS规格QOS的告警信息。
  ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
  ECS实例的连接又称网络会话，是客户端与服务器建立连接并传输数据的过程。与Guest内部实时的连接总数存在关联，但数值不完全相等，ECS实例基础监控中的网络连接数会高于Guest内部实时的连接总数。
  网络五元组（包括源IP、目的IP、源端口、目的端口、协议）唯一确定一个连接，ECS实例的连接数包括通过TCP、UDP、ICMP协议建立的连接。如果您的业务对网络并发敏感，请根据业务需求选择明确标注了**连接数** 参数的实例。详细信息，请参见[规格清单（x86）](https://support.huaweicloud.com/productdesc-ecs/zh-cn_topic_0159822360.html)。
  
 
#### 排查方法
本文相关操作命令以CentOS 7.9 64位操作系统为例。其它版本的Linux操作系统命令可能有所差异，具体情况请参阅相应操作系统的官方文档。
1. 使用**ss** 命令排查ECS实例的连接数。
   
   1. 登录弹性云服务器，具体操作，请参见[Linux ECS登录方法概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
   2. 执行如下命令查看当前系统的连接数总数。 **ss -s**
      系统回显样例如下，从回显结果中，可以明确哪种协议的连接比较多。
      图1操作结果   
      ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002338125818.png "点击放大") 
   
   3. 执行以下命令查看当前系统TCP/UDP的连接数较高的端口。 **ss -anupt \|grep -v LISTEN\| awk '{print $5}' \| sort -nr \|uniq -c \| sort -nr \| head -n 10**
      从回显中可以确认连接数比较多的本地端口，可以根据该信息进一步分析是否存在异常程序或者非预期内的连接。
      - **使用iftop工具查看主机或IP维度的网络接口指标**
        iftop是Linux系统中一个免费的网卡实时流量监控工具，可以监控包括指定网卡的实时流量、端口连接信息、反向解析IP等信息。
        
      
      - **使用介绍**
        iftop常用命令格式如下：
        **sudo iftop \[-i interface\]**
        
      
      - **使用示例**
        1. 登录弹性云服务器，具体操作，请参见[Linux ECS登录方法概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
        
        2. 执行以下命令安装iftop。 **yum install iftop**
           
        
        3. 执行如下命令，查看详细端口流量占用情况。 **iftop -i eth0 -P**
           图2操作结果   
           ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002338285582.png "点击放大") 
         
      
      - **显示结果主要字段说明如下：**
        - 第①部分：带宽使用情况。
        
        - 第②部分：外部连接列表，即记录了哪些IP正在和本机的网络连接。 右侧部分是实时流量信息，分别是该访问IP连接到本机2秒、10秒和40秒的平均流量。
          =\>表示发送数据，\<=表示接收数据。
          
        
        - 第③部分。
          - 第一列：TX表示发送流量，RX表示接收流量，TOTAL表示总流量。
          
          - 第二列cum：表示第一列各种情况的总流量。
          
          - 第三列peak：表示第一列各种情况的流量峰值。
          
          - 第四列rates：表示第一列各种情况2秒、10秒、40秒内的平均流量。
           
         
       
   
   
   
   
2. 处理实例网络QOS超限问题的原因及解决方案。 
   表1网络QOS超限问题的原因及解决方案 
   | **问题现象**                                       | **原因**                     | **解决方案**                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|
   | 异常用户程序或进程长时间占用大量网络资源（连接数、带宽、pps）               | 该程序为异常程序或进程，运行时占用过多网络资源。   | 通过在ss、iftop工具定位到占用网络资源较多的程序的PID，并通过如下方式结束进程**。** 注意： 在您结束进程前，请务必确保您了解该进程的相关信息，避免因误操作导致您的业务中断。 - 通过**kill -15 \<进程PID\>**来结束该进程。    - 如果怀疑进程为恶意程序，您可以对其进行查杀，相关操作，请参见[病毒查杀](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0583.html)。   |
   | 正常用户程序或进程长时间占用大量网络资源，或者有指定IP地址访问服务，从而导致网络负载较高。 | 该程序为正常业务程序或进程，运行时占用过多网络资源。 | 如果实例出现网络QOS瓶颈，您可以结合实际情况选择相应的处理策略。 - 升级实例规格**。** 相关操作。请参见[变更实例规格](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771092.html)。  - 优化业务程序（修改为长连接等）。                                                                                                                                                          |
      
   
   
 
