如何有效预警服务器宕机的发生(高效预警服务器宕机)?

2023-11-18 15:43:36 4

昨天凌晨三点,服务器突然宕机了,导致日志报错、数据库链接超时,cpu、内存和磁盘利用率都异常高。好在当初系统采用了springcloud架构,通过日志剖析,发现服务器在凌晨1点-3点接收大量请求后不堪重负宕机。起初我们认为是负载均衡失效,但进一步分析发现流量集中在inner接口,应该是FeignClient请求,同时日志中出现sql批量操作,进一步确定是Eurake负载失效或者项目内部代码逻辑问题。

造成高防服务器出现堵塞的原因,是因为代码逻辑中使用了多线程,并且频繁操作数据库,导致程序运行一段时间后整个运营模块宕机。在排查问题时,宕机时服务器日志丢失,MySQL数据库链接不足导致服务器宕机,而导致链接不足的逻辑代码较难定位。

服务器宕机一般分为两种:假死机和死机:

假死机(非蓝屏死机): 1. 是硬件资源暂时性地被消耗殆尽,因而无法对外部指令进行响应的现象,通常是网站处于访问高峰期,流量负载过大导致,带宽等资源跑满。 2. 是否是遭受黑客入侵攻击导致,最简单的就是关掉服务器,等待一段时间,待服务器腾出更多的硬件资源即可恢复正常。 3. 检查是否是误操作导致,可能原因和解决方案:进程过多或者不断创建,耗尽资源导致。数据库程序死锁,应用程序异常导致,连接数过多导致。 4. 数据丢失问题通常由于drop table的错误操作导致,并总是便随着缺少可用备份的问题。糟糕的Schema和索引设计是第二大影响性能的问题。 5. 在性能问题中,最普通的服务器宕机原因确实是运行很糟糕的SQL,但也不一定都是这个原因,比如也有很多问题时由于服务器Bug或错误的行为导致的。 6. 复制问题通常由于主备数据不一致导致。是否是应用程序导致内存溢出或者泄露,out of memory导致。

死机:如果通过ping测试服务器,键盘切换数字锁定键(NumLock)或大写锁定键(Caps Lock)功能,显示器无画面输出,或者鼠标光标没有任何反应则表明服务器硬件故障,这就是服务器最麻烦的宕机情况。

服务器出现宕机的原因和解决方案: 1. 定时任务设计不合理,批量处理程序设计不合理。生产环境中通常没有直接登录服务器权限,一般思路从代码逻辑入手,毕竟MySQL、Linux或者Spring Cloud都是经过时间检验的,服务器宕机更有可能是自己写的代码逻辑有问题。 2. 要即时发现服务器宕机的问题。第一时间,发现宕机的问题。如果服务器宕机时,为了避免造成不必要的损失,要尽早通知服务商解决相关问题。 3. 准备2个网站空间,他们存放的内容相同,而IP不同,并且机房的地理位置不同。这样2个主机同时宕机的可能性就大大降低了。第一时间发现宕机问题后,可以迅速通过修改dnspod.com中的域名记录,指向目前正常的网站空间。Dnspod解析生效的时间是实时的,而一般的DNS服务器刷新时间较长,对外声称24小时内生效,按照实际经验看来,差不多30分钟内生效,否则就要检查域名绑定是否正确了。 4. 数据下载至本地网络,完成一次请求。有的朋友遇到在自己的机器上不能访问网站,而在别人的电脑上,却是可以打开。那测试一下是不是你所在地的网络不稳定,而造成的访问中断。如果没问题,那再通过”在线代理”打开你的网站试一试。如果在线代理能够打开你的网站,基本上可以确定,你所在的本地网络出现了暂时的不稳定情况。

从上面几个方面可以看出,服务器宕机是指服务器因为某些原因而导致无法运转,造成网络无法正常使用。对于网站来说,服务器宕机所造成影响很大,不但造成访客无法对网站进行访问,甚至还可能影响到网站在搜索引擎上的收录和排名,因而在租用服务器时,建议站长选择像互联数据这种香港新机房,宕机概率比较低。在服务器使用的过程中,服务器宕机可能都出现,首先我们要找到服务器可能出现宕机的原因,才能找到对应的解决办法。

爱网站

Linux、centOS、Ubuntu、Windows操作系统下的ECS云服务器、vps虚拟空间、建站主机到期停止异常等状态监测,宝塔面板Bt、小皮面板PHPStudy、IIS、Apache、Nginx、XAMPP、wamp建站环境意外故障监测,php+MySql、asp、java、html等建站程序运行故障监测,域名状态、SSL证书状态监测,网站301、302、404、500错误代码及网站无法访问通知提醒,全国多节点测试网站速度及网络攻击!

网站服务

扫一扫,关注我们

桂ICP备2022009721号-1