最近一段时间,OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机。表现的情况是数据库处理大量的查询,堆积大量并发连接,导致无法再连接到数据库,执行一个简单的查询速度也非常慢,数据库机器的 CPU 很高。

但事实上早上 8 点并非 OSC 网站的高峰期,高峰期的时候都不会挂,为什么偏偏在这么一个没多少人访问的时间点宕机呢?

找了很久没发现系统在 8 点这个时间点有什么特殊的任务要做,对数据库也做了一些调整,包括 “MySQL Can’t Create Thread: Errno 11” 的问题。

但是问题依旧。

再次挨个检查系统 crontab 中定义的作业。其中自动构建 Lucene 索引的作业引起了注意。

*/5 8-22 * * * /data/oschina/build.sh lucene_build

系统每 5 分钟执行一次增量索引构建,该构建过程仅在一天早上8点到晚上10点钟进行。

我记得当初这么设置的原因是有一个索引的构建容易出问题,为了避免出问题时没人处理,因此设置了这个时间段,后来一直没去调整。

再查看系统跑 lucene 的进程,我靠,那么那么那么多。。。。。

赶紧一个 killall java 杀掉所有的 lucene 索引构建进程,没几秒钟数据库的连接就下来了,系统恢复正常访问。

所以我现在有 80% 的把握能确定宕机问题就是因为这个索引构建进程导致的。而且索引构建本身不存在问题,问题出在时间点的设定上。试想白天高峰期时候 5 分钟执行一次从来没出过任何问题。也就是说经过了一个晚上(从晚上10点到早上8点这段时间)系统又有很多的数据,导致8点钟启动增量索引构建时一次性任务量很大,无法在下一个5分钟到来之前结束,于是不断启动新的进程,于是不断连接到数据库,于是数据库性能急剧下降,于是挂机。

好吧,It's my fault!

将 8-22 改为 * 后继续观察!

MySQL本天早上8点到明早8点_似乎找到 OSChina 早上 8 点钟容易宕机的原因相关推荐

  1. MySQL本天早上8点到明早8点_从早上8点到晚上8点共多少小时,算式进

    展开全部 列算式为:20-8=12. 1.晚上8点用24小时时间法表示为20时. 2.阿拉伯数字表示时间时,表示的意思是e68a843231313335323631343130323136353331 ...

  2. MySQL - 高可用性:少宕机即高可用?

    MySQL - 高可用性:少宕机即高可用? 原文:MySQL - 高可用性:少宕机即高可用? 我们之前了解了复制.扩展性,接下来就让我们来了解可用性.归根到底,高可用性就意味着 "更少的宕机 ...

  3. Mysql 宕机引发索引丢失很可怕,文件 IO 中如何保证掉电不丢失数据?

    欢迎关注方志朋的博客,回复"666"获面试宝典 众所周知,存储设计离不开文件 IO,将数据存储到文件中进行持久化,是大多数消息队列.数据库系统的常规操作.为了更贴近实际的生产场景, ...

  4. MySQL集群节点宕机,数据库脑裂!如何排障?

    作者介绍 王晶,中国移动DBA,负责"移动云"业务系统的数据库集成架构设计.运维.优化等工作:擅长技术领域MySQL,获Oracle颁发的"MySQL DBA" ...

  5. MySQL主从复制主库宕机:1更新完relaylog2最大post设为主库 配置及删除之前从库信息3其他从库新建连接

    1.确保所有relay log 全部更新完毕 在每个从库上执行 stop slave io_thread; show processlist; 直到看到Has read all relay log:表 ...

  6. mysql主库宕机能写吗_MYSQL主主切换(主库宕机)_MySQL

    bitsCN.com MYSQL主主切换(主库宕机) 将主主(3307写--3308读)切换 前提:3307宕机 一.修改配置文件.命令行操作 vim /home/bbq/mysql/mysql-33 ...

  7. Mysql从库主键卡住_从库宕机引发的主键冲突

    刚刚接到报警短信,从库宕机,马上通知机房重启,在检查MySQL时,发现同步挂了,报主键冲突,询问开发是不是有往里面写数据,回答没有.这就奇怪了,怎么会无缘 刚刚接到报警短信,从库宕机,马上通知机房重启 ...

  8. mysql cluster 宕机 恢复_mysql cluster 集群恢复不起来,还请大神赐教?报错-问答-阿里云开发者社区-阿里云...

    mysql cluster 集群原本使用的几乎全是内存表,后来随着数据的增长,把大的内存表迁移到磁盘表了,之后集群出现6050错误,整个集群挂掉:之后重新启动集群一直启动不起来... ----以下是集 ...

  9. 操作系统宕机,MySQL数据找回记录

    点击上方"蓝字" 关注我们,享更多干货! 一.概述 如果Linux操作系统宕机,启动不了,救援模式(rescue installed system)也行不通的时候,那么该机器上的M ...

最新文章

  1. Lync 小技巧-51-Lync 2013-不加域-客户端-1-下载-证书-信任链
  2. 后端工程师入门前端页面重构(二):心法 I
  3. win10创建新的计算机用户名和密码忘了,Win10 2004中要使用本计算机用户必须输入用户名和密码选项不见了如何恢复?...
  4. java继承circle类_java的继承
  5. php RabbitMQ使用
  6. 用matlab建立控制系统的数学模型,第二章控制系统的数学模型.ppt
  7. python模块实例化_python中zipfile模块实例化解析
  8. python识别验证码——PIL,pytesser,pytesseract的安装
  9. Python项目实践:BMI 身体质量指数
  10. T3139 栈练习3 codevs
  11. 微信小程序开发流程、开发者工具下载安装
  12. 使用ffmpeg将ASS字幕打进视频流中
  13. PostgreSQL遍历Json
  14. [SDOI2009][BZOJ 1226]学校食堂
  15. 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)
  16. Linux(ubuntu)中删除除了一个文件之外的所有文件
  17. 独立站卖家如何利用Google广告做好站外引流?
  18. 《游戏学习》Java实现蜘蛛纸牌小游戏源码
  19. BS(Brower/Server)浏览器/服务器 和 C/S (Client/Server)客户端/服务器 的区别
  20. TP-LINK R473G 端口映射与回流/回环设置

热门文章

  1. java文件读写操作指定编码格式[转]
  2. 如何正确创建DLL和使用DLL
  3. Web开发编程实用手册
  4. 远见卓识,领导力在于把握企业潮流
  5. AFNetworking 对数据进行https ssl加密
  6. machine ID问题 ( u-boot设置machine id , set mach_type 0x16a )
  7. LeetCode OJ - Convert Sorted List to Binary Search Tree
  8. poj 2226 Muddy Fields 最小顶点覆盖
  9. Spring Android 1.0.0.M3 发布
  10. javascript基本功