zoukankan      html  css  js  c++  java
  • 云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题团队

    阿里云云服务器性能监控图

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

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

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

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

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

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

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

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

    阿里云RDS监控图

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    lua版本的一个状态机
    unity getcomponentsinchildren 翻船
    dotween tips
    ulua c#调用lua中模拟的类成员函数
    洗牌算法
    unity的一些tips
    用Unity写一个12306验证器的恶搞图生成软件
    好久没写Blog了
    蛋疼的时候写三消游戏(十三)
    用DropBox分享Unity3D的Web应用
  • 原文地址:https://www.cnblogs.com/cmt/p/aliyun-ocs-20140402.html
Copyright © 2011-2022 走看看