为什么服务器的宕机一般都发生在凌晨使用率最低的时候?

moonla


计科专业从事嵌入式软件开发多年,最近因为公司需要搞后台研发,经常选择升级的时机放在凌晨,而且大型的数据处理也是放在这个时间段内,经常发生的服务器宕机也是在这个时段。都是在用户使用少的时候开始折腾,折腾的次数多也就容易出现服务器问题。由于做的是物联网设备,在工作中遇到的宕机主要有这么几种情况,对大量数据的操作导致CPU占比在一段时间内骤增从而导致数据接收模块出问题,导致系统监控出现问题,很多设备信息检测不到了。

对数据库的操作太频繁导致效率的下降,也是影响系统性能很重要的一部分,其实服务器也是普通电脑的构成,主要的资源是CPU和内存,这两个因素无论是哪种都有可能导致系统的崩盘,如果是CPU被占满了,系统的反应会变得异常缓慢,时间长了可能还会慢慢缓过劲来,内存如果占满了那么会导致系统的崩溃,直接运行不下去了,其实宕机核心点不会跑出这两种因素。

现在就常见的服务器宕机问题做个归纳总结:

1.磁盘空间被占满,现在程序员运行的时候都习惯于带上log打印,如果时间长了加上没有清理的机制早晚会出问题,这个错误在平时运行过程中经常出现,如果使用的云计算服务器通常在系统崩盘之前都会发个短信,通知你的系统处于崩溃的边缘。

2.并发性能问题,如果多个人同时操作一个数据库或者数据块,会导致系统假死状态,这种属于争抢CPU资源问题,可以通过增加硬件配置以及优化软件代码的效率去解决,数据量如何足够大就可以考虑分布式的管理

3.数据受损或者被破坏导致系统崩盘,所以常见的做法是都会配置备份盘,出现问题抓紧拿到备份盘来顶上,现在公司使用的是阿里云的服务器,稳定性相比之前好太多了,中间换过电信云,腾讯云虽然价格低点,最后受不了直接换成阿里云,再也不想换回去了,数据的稳定性永远是第一位的。

4,一些没有必要的误操作,很多时候是因为程序员或者运维人员的误操作大致服务器大面积的宕机,这种事件在很多云服务提供商身上都发生过,根本层面还是管理问题。后台管理的任何细节都有可能

服务器宕机查找问题的几个线索:

1.看看服务器是不是存在内存泄漏问题,有些时候重启机器开始还能正常运行弄了一段时间之后就会变得非常缓慢,十有八九都是内存的问题

2.是否有黑客入侵造成,有些非常关键重要的数据也是黑客最感兴趣的,一般来讲这种概率不是很高

3.是不是数据库死锁导致的,访问量过大导致,连接数过多造成的。

服务器宕机一旦发生就会引起用户的无数的投诉,无论在什么情况下稳定永远是第一位,现在大的功能升级除非已经百分百验证成功,否则引起的后果不堪设想。

希望能帮到你。


大学生编程指南


作为一个运维人员,我想声明一下,我认为你说的这个问题没有什么道理... 这件事存在偶然性

之前我们单位夜晚有一台设备down了,这台设备做的堆叠,而不是备份,所有下联线路全部连接在主设备上。结果当晚凌晨,主设备的电源模块损坏了!这... 你能看出规律吗?我也想知道为什么它偏偏凌晨损坏了!

所以说,偶然性事件,不能说大部分!

但是夜间割接倒是正常,选择在用户最少的时候做可能影响业务的必要事情是常识。


网工碾压机


虽说在凌晨的时候,使用系统的用户非常少,但是服务器在这个时候要做的工作可能一点儿也没有少:

  • 数据批处理操作通常会集中在凌晨进行:例如很多公司都会在晚上进行对账操作,或为第二天的业务操作做一些预处理;或批量把业务系统的数据抽取到分析系统进行数据分析等等;

  • 很多公司都做不到在线升级和灰度发布,所以系统升级经常安排在半夜,升级完只能做一些简单的验证,测试覆盖度的不足,也可能会导致遗漏一些BUG,最常见的一个问题是忽略了生产环境和测试环境数据量的差距,导致出现性能问题;

  • 服务器操作系统、软件的升级通常也会在晚上进行,这些操作也会带来宕机的风险。

再说一个很久以前看到的,同行们分享的服务器宕机的经历,有些经历非常之神奇,大家就当段子看吧(为了方便,我就按照第一人称来讲述)。

我们服务的甲方是一家医院,机房就在医院的楼中,最近机房的服务器经常性的发生宕机,公司的工程师去了几次也没有发现问题;后来公司被折腾的没办法了,决定让一个工程师晚上住在机房,看看半夜机房中究竟发生了什么事儿,想着就算找不到原因,也能在服务器宕机后第一时间重启。

后来发现原因,到了凌晨三四点的时候,机房门打开了,进来一个值夜班的小护士,看了一眼说:“又没有人,开着空调不浪费电么?”然后就把机房的空调关掉了,然后气温上升...

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。


会点代码的大叔


这里需要说明一下,服务器宕机是什么意思呢?我们日常说的“宕机”中的“宕”其实指的是英文“down”,宕机表示当前服务器或服务无响应或者不在线状态。

服务器的宕机可分为人为控制的宕机、不可控的宕机。这两者有什么区别呢,下面来具体说明一下:

1、人为可控的宕机行为

服务器长时间的运行可能会带来一些(非致命性)问题,又或者我们需要对服务器进行软/硬件的升级维护时,可能需要停机或者重启操作。这种情况下的宕机是可控的,在我们的计划之内。

2、不可控宕机行为

这种因素就很多了,比如说服务器突然蓝屏、服务异常崩溃、突然断电断网了,这时候服务(器)就无法正常提供服务,这些都是不可控因素导致的。


而在我们的日常运维工作中,计划性的宕机维护一般都选择在半夜来做这些事,为什么呢,原因主要有这几点:

1、减少对用户的影响

凌晨大家基本上都休息了,用户量较白天来说小得多,所以选择在此时进行系统及硬件的维护导致的宕机对用户的影响较小,就算有影响也只是影响小部分用户。

2、有足够的时间来处理故障

在凌晨进行维护,就算有问题,技术人员也有足够的时间(比如说:00~05点)去处理故障。如果换成在日间维护,服务(器)宕机1小时以上投诉单全都过来了,压力很大的。


以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!


网络圈


原理其实很简单:这就如同我们白天忙碌着很多事物性的工作,就如同搬运工一样,不停的搬运物品入库,只有在物品都搬运完了的时候,我们才能开始整理这些物品,整理仓库,。

其二,服务器在白天的时候,其实都在实时处理数据的“搬运工”状态,只有在实时性数据处理工作(搬运工作)完成以后,才有机会或才能腾出手来去做数据的归纳和整理。所以,服务器的宕机时间,通常会发生在使用率最低的时间段。仅此。


北京得明


正常跑稳的业务,一般很难因为正常业务操作造成服务器宕机的。服务器资源问题大部分情况下是可预测,可控制的。

最容易造成宕机的事情,反而是开发/运维的不当操作造成的。比如更换服务器硬件,升级/安转os程序包,发布新代码,批量更新数据等等,这些事一般都是半夜业务量小的时候做。


瘔集滅道


(눈_눈)我是金融行业的IT从业者,从银行这方面而言,平时用户使用占用的服务器资源是不及晚上跑批调用资源的


省略浩1


1凌晨升级版本,容易出问题。

2程序很多数据清理维护多在凌晨负载低时处理。

3数据库统多在凌晨统计

4数据


阿狸策略的样子


因为凌晨是最困得时候,服务器一打盹就宕机了。


围观路人乙


有一个原因 ,白天运行的更多的是针对单个的处理 ;晚上的时候不仅会有针对单个的处理 ,还有一些批处理和程序的更新;批处理可能会导致运行缓慢甚至内存不够,程序的更新可能会出现一些预料以外的事情发生。纯个人理解,如若不对,敬请谅解。


分享到:


相關文章: