云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题

(上图是今天出问题期间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遇到的问题的更多相关文章
- 云计算之路-阿里云上:结合IIS日志分析“黑色30秒”问题
在昨天针对“黑色30秒”问题的分析中,我们猜测Requests Queued上升是由于正在处理的请求出不去(到达不了客户端).今天我们结合IIS日志验证这个猜测. IIS日志中有一个重要的指标——ti ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
- 云计算之路-阿里云上:愚人节被阿里云OCS愚
今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新.这篇博文将向您分享我们这两天遇到的OCS问题. 阿里云OCS(Open Cache Service)是 ...
- 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题
今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
- 云计算之路-阿里云上-新发现:又一种与虚拟内存有关的CPU波动情况
在云上真是无奇不有,昨天偶然间发现在IIS的应用程序池回收设置中,仅仅设置了一下基于虚拟内存限制的回收,就引发了CPU有规律的波动.在这篇博文中,我们将向大家汇报一下云计算之路上的这个小发现. 在之前 ...
- 云计算之路-阿里云上:启用Windows虚拟内存引发的CPU 100%故障
今天上午11:35~11:40左右,由于负载均衡中的两台云服务器CPU占用突然飚至100%,造成网站5分钟左右不能正常访问,请大家带来了麻烦,请谅解! (上图中红色曲线表示CPU占用) 经过分析,我们 ...
- 云计算之路-阿里云上:SLB会话保持的一个坑
冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...
- 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时
在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...
随机推荐
- 解决在php5中simple XML解析错误的问题
2004年7月,php5正式版本的发布,标志着一个全新的PHP时代的到来.PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性.程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类 ...
- Js parsetInt() 字符串转换,只能转换字符串,数字开头的才会返回数值,否则为NaN,空字符串也返回NaN
alert(parseInt('456lee')); //456,返回正数部分 alert(parseInt('lee456lee')); //NaN alert(parseInt('lee456le ...
- 通过CSS3实现:鼠标悬停图片360度旋转效果
效果很好玩,代码很简单: 效果: 鼠标放置在图片上:360度顺时针旋转 鼠标离开图片:图片260度逆时针旋转 只要将下面代码拷贝过去,并将图片改成你想要的就可以看到效果 <!doctype ht ...
- selenium+chrome下载文件,格式怎么选择???
学习了下载 if browser == "Chrome": options=webdriver.ChromeOptions() prefs={'profile.default_co ...
- java设计模式——享元模式
一. 定义与类型 定义:提供了减少对象数量从而改善应用所需的对象结构的方式,运用共享技术有效地支持大量细粒度的对象 类型:结构性 二. 使用场景 (1) 常常应用于系统底层的开发,以便解决系统的性能 ...
- 旧文备份: 怎样实现SDO服务
SDO是CANopen协议中最复杂的一部分,带有应答机制,有多种传输方式,并且完整的SDO功能节点需提供1个SDO server和多个SDO client,因此SDO的实现异常困难,协议多种传输方式的 ...
- MySQL常见错误分析与解决方法总结
MySQL常见错误分析与解决方法总结 一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分 ...
- SqlServer 连接GreenPlum问题处理
一.SQL SERVER.GREENPLUM 1. SSIS安装 ▶ 安装SQL SERVER 2005 数据库之后,运行SSIS工具,建立包,建立完成之后,新建工作流,双击工作流之后无法进行编辑,并 ...
- ES6学习(三):数组的扩展
chapter08 数组的扩展 8.1 扩展运算符 8.1.1 扩展运算符的含义 ... 如同rest运算符的逆运算,将一个数组转换为用逗号分隔的参数序列. console.log(...[1, 2, ...
- lintcode_69_二叉树的层次遍历
二叉树的层次遍历 描述 笔记 数据 评测 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? LinkedIn Airb ...