今天是愚人节,而我们却被阿里云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愚的更多相关文章

  1. 云计算之路-阿里云上:10:28-10:51云盾清洗以及IP切换引发的主站访问故障

    大家好,非常抱歉!今天10:28-10:51期间由于阿里云云盾流量清洗,以及切换IP后负载均衡的带宽跑满,影响了主站的正常访问,给您造成了很大的麻烦,请您谅解! 故障的过程是这样的: 10:28,我们 ...

  2. 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

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

    (上图是今天出问题期间Web服务器性能监控图,紫色表示的是Request Execution Time) 昨天我们发布了一篇博客分享了我们这两天遇到的OCS(开放缓存服务)问题,详见云计算之路-阿里云 ...

  4. 云计算之路:AWS, Azure, Aliyun, UCloud提供的Windows操作系统

    如果您用的是微软平台,如果您准备走上云计算之路,估计您首先关心的是云服务商有没有提供合适的Windows操作系统. 这里把我们知道的知名云服务商提供的Windows操作系统列出来,供大家参考. 1. ...

  5. 来杭州云栖大会,全面了解企业如何实现云上IT治理

    企业上云的现状与趋势 云计算,如今已经成为了像水和电一般关系到国计民生的国家基础设施.云计算为企业带了前所未有的资源交付效率和运维效率的提升,同时也用全新的技术帮助企业在新的价值网络中创造新的商业赛道 ...

  6. 云上自动化 vs 云上编排

    1 摘要 本文介绍了为什么在一个好的公有云或私有云中必须要有一个编排系统来支持云上自动化,以及实现这个编排系统的困难和各家的努力.同时提供了一套实现编排系统的原型,它包括了理论分析及主体插件框架,还给 ...

  7. 一文读懂云上DevOps能力体系

    简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔.自动化运维的进阶模式.DevOps的基础核心.云上标准化部署三大能力-- 序言 云计算行业已经有十多年的发 ...

  8. 阿里云产品介绍(三):云数据库RDS

    写完云服务器ECS,本来想先写负载均衡的. 因为发现很多客户,都是直接将单台云服务器应用对外提供访问,如果云服务器宕机,应用就会停止服务.云服务器标称有99.95%的可用率,一年下来宕机四个多小时也是 ...

  9. 在Eclipse里面使用git上传项目到码云

    Eclispe上使用git 1.安装git 按照下图的步骤: 安装过就不用再安装了,没有安装的安装一下! 安装完毕之后:需要做一些初始化的设置: 2.上传项目到码云上 1.首先在码云上建立一个项目 2 ...

随机推荐

  1. MySQL入门很简单: 7 触发器

    触发器是由事件来触发某个操作,这些事件包括INSERT语句,UPDATE语句和DELETE语句 1.创建触发器 1)创建只有一个执行语句的触发器 例子:再向department表中执行INSERT操作 ...

  2. 分享个谷歌浏览器下的一款插件PostMan

    用作POST GET调试非常好用 先下载谷歌浏览器 然后在应用里搜索安装即可

  3. 找子串替换(kmp)poj1572

    题目链接:http://poj.org/problem?id=1572 输入数据时要注意,这里是string型 用getline(cin,origin[i]); #include <string ...

  4. Object类的常用方法

    Object类是Java中所有类的始祖.如果没有明确的指定继承,则默认继承Object类.在Java中除了基本类型外都是Object类型的对象,包括数组. 1)equals方法 Object: pub ...

  5. 递归遍历目录拷贝cdh下的lib到一个目录

    destpath='/home/hadoop/soft/hadoop-2.0.0-cdh4.5.0/cdhlib/'jarpath='/home/hadoop/soft/hadoop-2.0.0-cd ...

  6. 三、Object-C内存管理

    一.管理范围:任何继承了NSObject的对象,对基本数据类型无效 原理: 1.每个对象都有个引用计数器,是一个与之关联的整数 2.使用了 3.给对象发送一条retain消息,可以使对计数器+1 4. ...

  7. ajaxfileup.js

    <img id="tinyPic" class="user-icon" :src="headPortrait"><inpu ...

  8. Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图

    转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...

  9. Make a Person-freecodecamp算法题目

    Make a Person 1.要求 用下面给定的方法构造一个对象:方法有 getFirstName(), getLastName(), getFullName(), setFirstName(fir ...

  10. BZOJ3288: Mato矩阵(欧拉函数 高斯消元)

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 386  Solved: 296[Submit][Status][Discuss] Descriptio ...