zoukankan      html  css  js  c++  java
  • 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题团队

    今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧。

    而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存的临时磁盘云服务器,1台是启用了虚拟内存的临时磁盘云服务器,1台是禁用了虚拟内存的云盘云服务器。这样排除了磁盘IO与虚拟内存的原因。

    问题的表现是这样的(以下监视截图来自Windows性能监控器Performance Monitor):

    1. ASP.NET请求执行时间(Request Execution Time)变慢

    Request Execution Time

    通常请求执行时间在100ms以下,而出问题时竟然达到了近1.5s,发生时间为15:18:09。

    2. IIS当前连接数(Current Connections)突增

    IIS当前连接数通常在10左右,出现问题时先跳高至67,后跳高至270多,说明IIS处理请求的能力下降,开始发生的时间点是15:18:06。

    可见IIS当前连接数突增早于ASP.NET请求执行时间变慢。

    3. CPU占用下降

    CPU在15:18:07到达高点之后,一直往下掉,在15:18:14掉至最低点。

    CPU下降发生于IIS当前连接数突增之后。

    4. 请求出现排队现象(Requests Queued)

    Requests Queued正常情况下是0,只有在请求处理不过来的时候才会出现排队现象。请求排队开始于15:18:05,早于IIS当前连接数突增。

    5. ASP.NET请求处理能力下降(Requests/Sec)

    15:18:05开始,ASP.NET的请求处理能力下降,与请求排队开始于同一时间。

    我们给上面的5个现象排个序:请求处理能力下降(Requests/Sec)-> 请求排队(Requests Queued)-> 当前连接数突增(Current Connections)-> CPU占用下降 -> 请求执行时间变慢(Request Execution Time)

    然后再来看另外一次问题发生时的现象:

    1. Requests/Sec下降(棕色)与Requests Queued出现(蓝色)

    Requests Queued在高点达1007。

    2. Request Execution Time变慢(紫色)与Current Connections突增(绿色)

    Current Connections在高点达1586。

    3. 加上CPU占用率,5个指标叠在一起

    【分析】

    Requests/Sec下降、Requests Queued上升、Request Execution Time变慢、Current Connections突增,这些说明在什么地方卡住了;而CPU占用下降说明不是因为负载高CPU处理不过来,而是卡在了其他环节,比如IO。

    之前遇到比这还奇怪的“黑色10秒钟”(详见云计算之路-阿里云上:超级奇怪的“黑色10秒钟”),现象有点类似,但有2个地方不同:

    1. 这次持续时间是30秒(所以把这次问题命名为“黑色30秒”)。

    2. “黑色10秒钟”期间Requests/Sec会下降为0;而“黑色30秒”期间Requests/Sec只是下降,没有为0,也就是说还在处理请求,只是因为某些资源出现瓶颈,请求处理能力下降。

    之前的“黑色10秒钟”是因为虚拟化对spinlock的支持问题引起的,改用Windows Server 2012解决了问题。

    这次呢?应用的问题,Windows的问题,还是阿里云的问题?这是个问题!目前还不知道从何处下手。

    期待您的宝贵建议!

  • 相关阅读:
    解题:POI 2008 Plot purchase
    1807. 斐波纳契数列简单
    1745. 单调数列
    1700. 增减字符串匹配
    1665. 计算数字
    1523. 分区数组
    1517. 最大子数组
    1598. 两句话中的不常见单词
    1594. 公平的糖果交换
    1510. 亲密字符串(回顾)
  • 原文地址:https://www.cnblogs.com/cmt/p/3680017.html
Copyright © 2011-2022 走看看