云计算之路-阿里云上: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月 ...
随机推荐
- 决策树 -- C4.5算法
C4.5是另一个分类决策树算法,是基于ID3算法的改进,改进点如下: 1.分离信息 解释:数据集通过条件属性A的分离信息,其实和ID3中的熵: 2.信息增益率 解释:Gain(A)为获的A ...
- Happy Programming Contest(ZOJ3703)(01背包+路径储存)
Happy Programming Contest ZOJ3703 老实说:题目意思没看懂...(希望路过的大神指点) 最后那个the total penalty time是什么意思啊!!! 还是学 ...
- 如何遍历HashMap
HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的 java Map 遍历速度最优解 第一种: Map map = new HashM ...
- IOS 通过苹果开放API检测更新
#define APPID @"1067207206" -(void)onCheckVersion { NSDictionary *infoDic = [[NSBundle mai ...
- iOS 删除已经配置的类库和移除CocoaPods
引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些 ...
- 使用扩展方法简化RadAjaxManager设置
相对于RadAjaxPanel,RadAjaxManager提供了更精确控制更新目标的设置,特别是在某些场景下,使用RadAjaxManager能够获得更好的性能. 但是,由于要明确设置目标,配置的代 ...
- EmberJs之数组绑定@each&[]
写在前面 好长时间没有写博客了,昨天花了些时间又整理了下之前发布过的<Ember.js之computed Property>文章,并创建了一个测试代码库,花了些时间,希望能使用测试代码的方 ...
- mongodb(Index)
备忘mongoDb 索引的一些知识点. 1.索引是用以加速数据库查询的手段,在mongo中主要是采用B树的方式: 2.每个集合最多可增加64个索引,不建议增加过多索引,原因在于一是索引本身占用空间,二 ...
- Spring RabbitMq概述
Spring AMQP consists of a handful of modules, each represented by a JAR in the distribution. These m ...
- Smack Message扩展,添加自定义元素(标签)经验分享
Smack框架对XMPP协议进行了封装,从而方便与Openfire即时通信服务器做交互.说白了,Smack框架可以通过对象构造符合XMPP协议的XML字符串,避免手动拼接字符串. XMPP协议基本XM ...