风汛站长网

微信
手机版
站点地图

记录一次服务器系统崩溃瘫痪解决经历

2021-02-21 14:44:07 投稿人 : 佚名

自己二次开发了一套考试软件,面向全公司使用,从来没出现过异常。而这次,公司集中组织各子公司负责人培训学习该系统,用于今后对子公司员工学习考试。培训采用上机实操的方式,我在上面讲,下面十几个人跟着操作,就在培训进行一半,突然,发现考试软件系统卡死,点啥都没反应了,退出再来,连考试软件网站都访问不了了,真是当场翻车,mmp!只好当场赶快远程服务器,看看咋回事,重启一下服务,我用的是phpstudy,重启apache服务报错,注销服务器再次重启服务,依然报错,不过网站恢复访问了。可以登录,进行基本操作。总算坚持到培训完主要内容。


到了员练习环节,不一会儿,相继报错,有的说考试系统里人员查询查不到人,有人却可以,有的说试题没有选项内容只有ABCD,我登录系统一看,妈呀,题库整个清空了,原本1800道题一道都看不到了。大型翻车现场!系统今天是要罢工啊!只好让大家练习基本操作,跟大家说这些都是小问题,培训完都会解决掉,其实心里慌得一批~~这要是系统真坏了,自己都搞不定,就闹笑话了,让大家看我笑话。


再次远程服务器,直奔数据库,看看试题到底在不在,发现有一些,但是乱套了,用之前备份的数据库还原一下,也没成功救场。只好回去详细研究,难道谁把题删除了?为什么今天出现这么多问题,昨天测试还都好好的!


培训虽然翻个小车,不过终归没影响内容讲解,回到单位喝一杯水,沉下心看看问题出在哪?


第一步,找问题那就是看日志!看看到底tmd谁在捣乱,查看apache日志:英文很明显,正好是第一次出错的时间,系统崩溃,进程退出,达到了最大连接上限,那就是系统超出最大并发量了呗!


记录一次服务器系统崩溃瘫痪解决经历  phpstudy apache无法启动 第1张

上午才十几个人而已,怎么会?这么点并发量就不行了,瘫痪了~


第二步,搜索关键词找到了专家的解释:


记录一次服务器系统崩溃瘫痪解决经历  phpstudy apache无法启动 第2张

症状完全一样,确诊了!就是一时间并发量太大,系统不堪重负,崩溃了,所以产生那么多奇怪现象!想想也是,培训时,下面员工不停的操作,而且都是管理员权限,同时进行复杂的增删改查操作。而平时使用不可能各分公司管理员同时操作,答题不存在问题,因为考试无非就是两次交互,第一次点击答卷,最后点击交卷,哪怕100人同时考试也不会对系统造成太大压力,而管理员就不一样了,十个管理员同时操作就会把系统搞垮。


尽管如此,尽量修改一下并发量上限,找到httpd-mpm.conf文件,最后一段便是:


记录一次服务器系统崩溃瘫痪解决经历  phpstudy apache无法启动 第3张

将ThreadPerChild从150修改为250,将MaxRequestPerChild从3000修改为5000。


记录一次服务器系统崩溃瘫痪解决经历  phpstudy apache无法启动 第4张

希望不会再次出现此类状况!题库的试题的确丢失了,不知是不是因为系统崩溃导致的,不过自己之前在虚拟机搭建过考试系统环境,并做了镜像,重新上传试题分分钟搞定!测试系统使用,一切恢复正常!


这次经历其实就相当于对软件进行并发测试,看来小软件自己怎么玩都还好,一旦用在大地方,各种问题都出来了,用户多了得优化并发量,如果挂外网还得优化代码漏洞防攻击。开发一款优秀软件真的是一个团队才能做好!


标签