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

今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新。这篇博文将向您分享我们这两天遇到的OCS问题。
阿里云OCS(Open Cache Service)是阿里云提供的开放缓存服务,简单来说就是一个巨大的memcached。我们是从2013年12月12日开始使用阿里云OCS的(详见云计算之路-阿里云上:用上了开放缓存服务OCS)。OCS是保证网站性能的最重要的功臣之一,而随着网站访问量的快速增长,OCS更加举足轻重。曾经有一个周末,我们因为清空了OCS实例缓存从而引发Web服务器CPU跑满(详见C#正则表达式引发的CPU跑高问题以及解决方法)。
最近我们在优化代码以充分发挥OCS缓存的作用,尽量在OCS缓存中读取数据(从缓存中读取数据太快了,一般在10ms以内)。上个周末,我们发布了一次更新,准备在周一访问高峰时观察一下效果。结果OCS竟然出问题了。
周一早上9:44-09:46期间,我们感觉网站访问速度有一点不对劲,一看Web服务器日志——大量的缓存读取失败日志。向阿里云提交工单后得知OCS后端有台机器出了问题,造成读取缓存超时。
周一下午13:16-13:31期间,OCS又出现了早上的状况,而且OCS管理控制台显示的监控数据完全不对。继续向阿里云提交工单后获知当时OCS后端在进行紧急升级,进一步得知今天OCS正在进行商业化前的升级(4月3日OCS正式对外售卖,之前处于试用阶段)。
今天,有园友向我们反馈首页右侧的“最新新闻”列表还是昨天的新闻,我们立即意识到OCS又出问题了。“最新新闻”列表用了OCS缓存, 缓存时间是5分钟,正常情况下5分钟后会自动过期,可现在OCS始终不让它过期,所以读取到的始终是旧数据。手工清除这个缓存项后,问题解决。
接着又有园友情反馈“首页候选区”显示的也是昨天的数据,我们一看也是同样的OCS问题。我们进一步检查,发现首页右侧的“48小时阅读排行”、部分网站分类页面、“所有随笔”页面也出现了同样的OCS缓存不过期的问题。后来又有园友反馈,个人博客“我的随笔”列表页面也是同样的问题。
虽然根据key手工清除对应的缓存项,可以解决问题,可是摆着我们前的是一个无解的难题——怎么找出那些应该过期而没有过期的缓存项。唯一的解决方法是清空OCS实例缓存,这又是一个不可行的好方法。前面已经提到过,我们在访问低峰的时候因为清空OCS实例缓存而引发Web服务器CPU跑满,何况今天的访问高峰期呢。
愚人节被愚,通常是一笑而过;而被阿里云OCS愚,却是一脸的无奈——要么是等到访问低峰清空OCS实例缓存,等待下一次被愚;要么等待阿里云帮我们真正地解决这个问题。
SLB(负载均衡)+ECS(虚拟机)+RDS(数据库)+OCS(缓存)这是IaaS服务的4个支柱,而我们却被这4根柱子都撞过。希望我们撞出的不是烂木头,而是钢筋混凝土。

云计算之路-阿里云上:愚人节被阿里云OCS愚的更多相关文章
- 云计算之路-阿里云上:10:28-10:51云盾清洗以及IP切换引发的主站访问故障
大家好,非常抱歉!今天10:28-10:51期间由于阿里云云盾流量清洗,以及切换IP后负载均衡的带宽跑满,影响了主站的正常访问,给您造成了很大的麻烦,请您谅解! 故障的过程是这样的: 10:28,我们 ...
- 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境
使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...
- 云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题
(上图是今天出问题期间Web服务器性能监控图,紫色表示的是Request Execution Time) 昨天我们发布了一篇博客分享了我们这两天遇到的OCS(开放缓存服务)问题,详见云计算之路-阿里云 ...
- 云计算之路:AWS, Azure, Aliyun, UCloud提供的Windows操作系统
如果您用的是微软平台,如果您准备走上云计算之路,估计您首先关心的是云服务商有没有提供合适的Windows操作系统. 这里把我们知道的知名云服务商提供的Windows操作系统列出来,供大家参考. 1. ...
- 来杭州云栖大会,全面了解企业如何实现云上IT治理
企业上云的现状与趋势 云计算,如今已经成为了像水和电一般关系到国计民生的国家基础设施.云计算为企业带了前所未有的资源交付效率和运维效率的提升,同时也用全新的技术帮助企业在新的价值网络中创造新的商业赛道 ...
- 云上自动化 vs 云上编排
1 摘要 本文介绍了为什么在一个好的公有云或私有云中必须要有一个编排系统来支持云上自动化,以及实现这个编排系统的困难和各家的努力.同时提供了一套实现编排系统的原型,它包括了理论分析及主体插件框架,还给 ...
- 一文读懂云上DevOps能力体系
简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔.自动化运维的进阶模式.DevOps的基础核心.云上标准化部署三大能力-- 序言 云计算行业已经有十多年的发 ...
- 阿里云产品介绍(三):云数据库RDS
写完云服务器ECS,本来想先写负载均衡的. 因为发现很多客户,都是直接将单台云服务器应用对外提供访问,如果云服务器宕机,应用就会停止服务.云服务器标称有99.95%的可用率,一年下来宕机四个多小时也是 ...
- 在Eclipse里面使用git上传项目到码云
Eclispe上使用git 1.安装git 按照下图的步骤: 安装过就不用再安装了,没有安装的安装一下! 安装完毕之后:需要做一些初始化的设置: 2.上传项目到码云上 1.首先在码云上建立一个项目 2 ...
随机推荐
- 笨办法学Python(七)
习题 7: 更多打印 现在我们将做一批练习,在练习的过程中你需要键入代码,并且让它们运行起来.我不会解释太多,因为这节的内容都是以前熟悉过的.这节练习的目的是巩固你学到的东西.我们几个练习后再见.不要 ...
- python读入文档中的一行
从文件log_fusion中读入数据 方法1 f = open("log_fusion.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 r ...
- GNU Nano编辑器
^表示 control建 ^X 退出 nano ^O 保存文件 ^R 插入其他文件内容至光标位置 ^W 查找字符串 ^Y 跳至前一屏 ^V 跳至后一屏 ^K 剪切光标所在行并保存到剪贴板,或剪切选中内 ...
- 微信小程序加载本地图片方法
目录结构如下,只要图片按正确的方式放入小程序的开发工具的项目中,即可在wxml文件中用内联样式或者image标签都可以引用本地的图片. 步骤一:微信开发工具 打开项目 步骤二:新建个文件夹(放项目的一 ...
- POJ-1840 Eqs---二分
题目链接: https://vjudge.net/problem/POJ-1840 题目大意: 给出一个5元3次方程,输入其5个系数,求它的解的个数 其中系数 ai∈[-50,50] 自变量xi∈[ ...
- POJ-3009 Curling 2.0---DFS求最短路
题目链接: https://vjudge.net/problem/POJ-3009 题目大意: 问题:打冰球.冰球可以往上下左右4个方向走,只有当冰球撞到墙时才会停下来,而墙会消失.当冰球紧贴墙时,不 ...
- C++STL之multiset多重集合容器
multiset多重集合容器 multiset与set一样, 也是使用红黑树来组织元素数据的, 唯一不同的是, multiset允许重复的元素键值插入, 而set则不允许. multiset也需要声明 ...
- android ndk中使用gprof
1.下载gprof支持库 下载地址: http://code.google.com/p/android-ndk-profiler/ 2.代码上的修改添加 在初始化时: monstartup(" ...
- SQL随手记
数据库改名 想要达到的效果,类似于将一个文件[复制粘贴重命名]. 0.首先得断开连接,复制一份备份.然后再连接上,进行下面的操作. 1.在树形上,选中要改名的数据库,右键重命名. 2.还是它,右键,属 ...
- 基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)-转载
引言: 什么是基于指令的移植方式呢?首先我这里说的移植可以理解为把原先在CPU上跑的程序放到像GPU一样的协处理器上跑的这个过程.在英文里可以叫Porting.移植有两种方式:一种是使用CUDA或者O ...