今天是愚人节,而我们却被阿里云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. postman 1—官网下载及安装

    测试过程中构造批量数据方式: 1 业务只关联数据库单张表,那么可以通过sql插入数据 也可以通过接口构造. 2 业务关联多张数据库表.要在多张表插入数据且保持数据的一致性,此时通过接口批量发送请求构造 ...

  2. QT OpenGL中文教程在QT4版本后的错误代码更改(一)

    由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看.这个教程来源于原来的NeHeOpenGL中文教程 (http://www.yakergong.net/nehe/) ,但其有 ...

  3. 贪心,二叉树搜索,ZOJ(2315)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1315 解题报告: #include <stdio.h> ...

  4. win10 下的python虚拟环境安装使用(使用powershell)

    安装virtualenv 若要使用python虚拟环境进行开发,首先需要安装virtualenv.命令:pip install virtualenv 我已经装过了

  5. 某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚用水桶从井中提水入缸,老和尚用水桶从缸里取水饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个水桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可以同时进行。试用P、V操作给出小和尚、老和尚动作的算法描述。

    寺庙和尚打水 设信号量mutex_gang, mutex_jing, gang_empty, gang_full, count分别表示使用缸互斥, 使用井互斥, 缸空, 缸满, 水桶总个数 semap ...

  6. python_5_password

    #1.python2中raw_input与python3中的input是相同的,python2中也有input但是别用(不好用,忘记它) #密码是明文的 username=input("us ...

  7. 2.1-Java语言基础(keyword)

    2.1  keyword watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXNpcmVuZQ==/font/5a6L5L2T/fontsize/400/fi ...

  8. AngularJS 指循环数组对象

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. xcode怎样分析检测内存泄露(iOS)

    虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露, ...

  10. 读取hdfs目录,并在web页面上展示文件里的内容

    最终效果图 目录树实体类: /** * @Author: DaleyZou * @Description: hdfs 目录结构的实体类,用于展示目录树的支撑操作 * @Date: Created in ...