zoukankan      html  css  js  c++  java
  • 云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的团队

    非常抱歉,昨天的服务器CPU 100%问题是达到 memcached 的连接数限制引起的,不是阿里云服务器的问题。

    之前我们用的是阿里云“云数据库 memcached 版”,上个周末我们换成了自己搭建——基于阿里云“内存网络增强型”服务器用 docker 跑 memcached 。

    docker run -d --net=host --restart unless-stopped memcached -m 15360

    但我们在部署 memcached 时没有设置 conn-limit 参数(默认值是 1024) 。

    由于周一周二两天服务器没出现问题,而且周二的访问量超过了上周的最高,我们误以为这次 memcached 的部署调整没问题。而没问题的背后是因为周一周二的web服务器数量比昨天少,刚好没达到 memcached 的连接数限制。

    昨天(周三)我们收到 1 台服务器的 CPU 报警后,多加了 1 台服务器,刚好让 memcached 的连接数达到了临界值,在下午并发连接数上去后,很容易触发 memcached 的连接限制,web 服务器因无法使用缓存而让 CPU 不堪重负。在这样的情况下,减服务器反而是有利的,而我们慌乱之下依照 CPU 负载高就加服务器的错误直觉操作则是雪上加霜。。。

    当今天上午再次有服务器出现 CPU 100% 问题时,我们才想到 memcached 的连接数限制

    STAT max_connections 1024
    STAT curr_connections 960

    赶紧将 max_connections 由默认的 1024 修改为 2048

    docker run -d --net=host --restart unless-stopped memcached -m 15360 -c 2048 && docker stop 51bd3b240ede

    之后 CPU 100% 的问题就解决了

    STAT max_connections 2048
    STAT curr_connections 1232

    非常抱歉,由于我们在处理故障时不够冷静、考虑不周,给您带来了麻烦,请您谅解。

    我们会吸取教训,提高我们在处理故障时的判断与定位能力。

  • 相关阅读:
    JS数据类型、JS数据类型转换、JS运算
    JS 变量
    js初识 何为JavaScript
    ES6 字符串的用法
    ES6 初识 let、const、ES6兼容、解构赋值
    Bootstrap 小结
    列一下我所认为的,你面试微软前必须要读的十本书[转]
    MFC中换行实现
    MFC中输入框的文本转换为char[]字符数组类型
    MFC下OpenGL入门(可以用)
  • 原文地址:https://www.cnblogs.com/cmt/p/8572862.html
Copyright © 2011-2022 走看看