做网站月薪资多少钱,新建网站解析域名,展示照片的网站模板,建设厅焊工证查询网站最近一段时间#xff0c;OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机。表现的情况是数据库处理大量的查询#xff0c;堆积大量并发连接#xff0c;导致无法再连接到数据库#xff0c;执行一个简单的查询速度也非常慢#xff0c;数据库机器…最近一段时间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分钟到来之前结束于是不断启动新的进程于是不断连接到数据库于是数据库性能急剧下降于是挂机。好吧Its my fault将 8-22 改为 * 后继续观察