云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题
今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧。
而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存的临时磁盘云服务器,1台是启用了虚拟内存的临时磁盘云服务器,1台是禁用了虚拟内存的云盘云服务器。这样排除了磁盘IO与虚拟内存的原因。
问题的表现是这样的(以下监视截图来自Windows性能监控器Performance Monitor):
1. ASP.NET请求执行时间(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的问题,还是阿里云的问题?这是个问题!目前还不知道从何处下手。
期待您的宝贵建议!
云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题的更多相关文章
- 云计算之路-阿里云上:结合IIS日志分析“黑色30秒”问题
在昨天针对“黑色30秒”问题的分析中,我们猜测Requests Queued上升是由于正在处理的请求出不去(到达不了客户端).今天我们结合IIS日志验证这个猜测. IIS日志中有一个重要的指标——ti ...
- 云计算之路-阿里云上:服务器CPU 100%问题是memcached的连接数限制引起的
非常抱歉,昨天的服务器CPU 100%问题是达到 memcached 的连接数限制引起的,不是阿里云服务器的问题. 之前我们用的是阿里云“云数据库 memcached 版”,上个周末我们换成了自己搭建 ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
- 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时
在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...
- 云计算之路-阿里云上-新发现:又一种与虚拟内存有关的CPU波动情况
在云上真是无奇不有,昨天偶然间发现在IIS的应用程序池回收设置中,仅仅设置了一下基于虚拟内存限制的回收,就引发了CPU有规律的波动.在这篇博文中,我们将向大家汇报一下云计算之路上的这个小发现. 在之前 ...
- 云计算之路-阿里云上:SLB会话保持的一个坑
冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...
- 云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题
(上图是今天出问题期间Web服务器性能监控图,紫色表示的是Request Execution Time) 昨天我们发布了一篇博客分享了我们这两天遇到的OCS(开放缓存服务)问题,详见云计算之路-阿里云 ...
- 云计算之路-阿里云上:愚人节被阿里云OCS愚
今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新.这篇博文将向您分享我们这两天遇到的OCS问题. 阿里云OCS(Open Cache Service)是 ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
随机推荐
- phpcms V9二次开发之联动菜单筛选 包括box字段的多选 单选 筛选教程
{php $theurl = "index.php?m=content&c=index&a=lists&catid=$catid";} {php $bran ...
- bzoj 3714
题意:n<=2000的盒子,有一些里面有球,再给你所有c[i][j](1<=i<=j<=n),即告诉你[i,j]里面球的总数的奇偶性需要花费c[i][j],现在求知道所有的盒子 ...
- Caused by: java.lang.UnsatisfiedLinkError...解决经历
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu ...
- 软件工程课设day3
下载昨日新版本程序,完成修复项目的测试. 与组内成员讨论,确认项目新模块功能“吐槽墙”的设计方向与实现形式——因为项目为便捷工具类,社区形式的实现方式与项目本质背道而驰.因此决定以“点击目标课程条目, ...
- C#中使用OpenSSL的公钥加密/私钥解密
在C#中进行公钥加密/私钥解密,需要用RSACryptoServiceProvider,但是它不支持由OpenSSL生成的公钥/私钥字符串. 比如这样的公钥/私钥对( 公私钥生成方法见 http:// ...
- Sensor(ACCELEROMETER)
package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...
- Linux3:more、which、find、chmod、tar、diff、grep、ps、netstat、uname
more 类似cat,不过more不是将整个文件内容从上到下显示在屏幕上的,而是以一页一页的显示方便使用者逐页阅读.more最基本的指令就是space即往下翻一页,b即往回翻一页显示,而且还有搜索字符 ...
- 讲讲HashCode的作用
前言 Object提供给我们了一个Native的方法“public native int hashCode();”,本文讲讲Hash是什么以及HashCode的作用 Hash 先用一张图看下什么是Ha ...
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- 一步一步跟我学DeviceOne开发 - 仿微信应用(一,二,三)
这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际 ...