(上图是今天出问题期间Web服务器性能监控图,紫色表示的是Request Execution Time)

昨天我们发布了一篇博客分享了我们这两天遇到的OCS(开放缓存服务)问题,详见云计算之路-阿里云上:愚人节被阿里云OCS愚

后来,阿里云确认了问题的原因:在OCS升级过程中造成了写入的缓存数据过期时间丢失,只需删除这些有问题的缓存数据就不会再出现这个问题。

今天一大早访问低峰的时候,我们进行了清空OCS实例缓存的操作,解决了OCS缓存不能过期的问题。

今天中午11:30左右,园子访问速度突然变慢,上Web服务器一看——就看到了上面的性能监控器,大量请求执行缓慢。当时看到这样的图,真的很心痛——每个跳高的紫色都代表着用户的不满、愤怒,都是对用户体验的极大伤害,我们性能优化的一切努力都是为了降低这个紫色。而云基础实施服务的一点问题就会让我们的努力付之流水。

心痛归心痛,面对问题,唯一的选择是解决问题。

再看上面的性能监控图,Web服务器的CPU占用是正常的(红色线条),说明问题不在云服务器。

接着看数据库服务器(RDS)的状况——

(上图是RDS数据库连接数的监控数据)

出问题期间,RDS的数据库连接数突然飙上去了,这是一个很重要的线索——根据我们的应用场景,只有缓存服务出问题或者缓存命中率急骤下降,才能造成这样的数据库连接数突增。

而出现这样的问题,不仅仅是给数据库带来压力造成性能下降,更糟糕的是在从数据库中读取数据后还要再写入缓存,这也带来额外的性能影响。如果缓存一直有问题,就会不断地进行这样的循环:读缓存->没命中->读数据库->写缓存。。。这样一折腾,网站访问速度会大受影响

出问题时的场景很可能就是这样,所以我们不得不把怀疑对象又放到了阿里云OCS上。

紧接着就是查看应用程序的日志,我们在应用中进行了这样的记录——只要读取缓存超过100毫秒,就记录日志。出人意料的是日志中几乎没有超过100毫秒的缓存读取记录,也就是说出问题期间读取OCS缓存的速度是很快的。

难道也不是OCS引起的问题?。。。

关于缓存,还有一个我们不能忽视的地方——缓存命中率。

如果假设当时OCS的缓存命中出了问题——缓存中有数据却读取不到或者数据没有真正写入缓存,问题期间所发生的现象就都得到了合理的解释。

但是由于OCS管理控制台查看不到历史监控数据,看不到出问题期间的缓存命中率,我们无法验证这个猜测。只能等待阿里云的排查,目前阿里云还在排查中。

11:50左右,一切又恢复了正常。

在出问题的期间,给大家带来了麻烦,望大家谅解!

云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题的更多相关文章

  1. 云计算之路-阿里云上:结合IIS日志分析“黑色30秒”问题

    在昨天针对“黑色30秒”问题的分析中,我们猜测Requests Queued上升是由于正在处理的请求出不去(到达不了客户端).今天我们结合IIS日志验证这个猜测. IIS日志中有一个重要的指标——ti ...

  2. 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

    在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...

  3. 云计算之路-阿里云上:愚人节被阿里云OCS愚

    今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新.这篇博文将向您分享我们这两天遇到的OCS问题. 阿里云OCS(Open Cache Service)是 ...

  4. 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题

    今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...

  5. 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障

    3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...

  6. 云计算之路-阿里云上-新发现:又一种与虚拟内存有关的CPU波动情况

    在云上真是无奇不有,昨天偶然间发现在IIS的应用程序池回收设置中,仅仅设置了一下基于虚拟内存限制的回收,就引发了CPU有规律的波动.在这篇博文中,我们将向大家汇报一下云计算之路上的这个小发现. 在之前 ...

  7. 云计算之路-阿里云上:启用Windows虚拟内存引发的CPU 100%故障

    今天上午11:35~11:40左右,由于负载均衡中的两台云服务器CPU占用突然飚至100%,造成网站5分钟左右不能正常访问,请大家带来了麻烦,请谅解! (上图中红色曲线表示CPU占用) 经过分析,我们 ...

  8. 云计算之路-阿里云上:SLB会话保持的一个坑

    冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...

  9. 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时

    在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...

随机推荐

  1. HCNA配置接口IP地址

    1.拓扑图 2.R1配置 The device is running! <Huawei>sys <Huawei>system-view Enter system view, r ...

  2. Python输入与循环

    python while循环 while 语句: 执行语句 结束条件 #应用while输出1到11 counts = 1 while True: print("counts:", ...

  3. iOS开发:小技巧积累

    1.获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量: [(MyAppDelegate*)[[UIApplication sharedApplication] delegate] ...

  4. IOS 封装View的fram(X Y W H )

    @interface UIView (Extension) @property (nonatomic, assign) CGFloat x; @property (nonatomic, assign) ...

  5. UESTC 1246 拆x3

    用归纳法分析可以知道死循环只有4. 分析一下复杂度,如果n很大并且不是素数,根据基本不等式可以知道 sum factor(n) ≥ 2+n/2 ≍ n/2. 复杂度是O(T*logN*sqrt(N)) ...

  6. Next K Permutation

    3457: Next K Permutation 时间限制: 1 Sec  内存限制: 128 MB提交: 4  解决: 4[提交] [状态] [讨论版] [命题人:admin] 题目描述 n 个数有 ...

  7. 2017.10.18 微机原理与接口----汇编语言语法和DOS功能调用

    4.1 汇编语言中的基本数据 ·标识符 ·常数 ·变量具有三个属性: (1)段地址(SEG):变量所在段的段地址 (2)偏移地址(OFFSET):变量所在段内的偏移地址 (3)类型(TYPE):每个变 ...

  8. python同时遍历数组的索引和元素

    1.一般要同时遍历数组的索引和元素需要先确定数组的长度length(元素个数),然后使用range函数来生成数组的索引,最后使用该索引来访问数组的元素. 具体做法如下: l = [2,7,11,15] ...

  9. ubuntu 报错E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unav E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process us

    1.配置xshell,查看虚拟机中ubuntu中网络ip ifconfig 报错 Command 'ifconfig' not found, but can be installed with: su ...

  10. javaweb基础(37)_mysql数据库自动生成主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...