博客
关于我
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
阅读量:407 次
发布时间:2019-03-06

本文共 925 字,大约阅读时间需要 3 分钟。

非常抱歉,昨天的是达到 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 1024STAT 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 2048STAT curr_connections 1232

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

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

转载地址:http://peekz.baihongyu.com/

你可能感兴趣的文章
《实战java高并发程序设计》源码整理及读书笔记
查看>>
Java开源博客My-Blog(SpringBoot+Docker)系列文章
查看>>
程序员视角:鹿晗公布恋情是如何把微博搞炸的?
查看>>
Spring+SpringMVC+MyBatis+easyUI整合进阶篇(七)一次线上Mysql数据库崩溃事故的记录
查看>>
【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
查看>>
ClickHouse源码笔记4:FilterBlockInputStream, 探寻where,having的实现
查看>>
Linux应用-线程操作
查看>>
多态体验,和探索爷爷类指针的多态性
查看>>
系统编程-进程间通信-无名管道
查看>>
记2020年初对SimpleGUI源码的阅读成果
查看>>
C语言实现面向对象方法学的GLib、GObject-初体验
查看>>
系统编程-进程-ps命令、进程调度、优先级翻转、进程状态
查看>>
为什么我觉得需要熟悉vim使用,难道仅仅是为了耍酷?
查看>>
一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
查看>>
HDOJ2017_字符串统计
查看>>
高等软工第二次作业《需求分析阶段总结》
查看>>
404 Note Found 团队会议纪要
查看>>
CentOS安装Docker-ce并配置国内镜像
查看>>
使用JWT作为Spring Security OAuth2的token存储
查看>>
使用Redis作为Spring Security OAuth2的token存储
查看>>