iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >服务器故障实例分析
  • 812
分享到

服务器故障实例分析

2023-06-17 02:06:37 812人浏览 安东尼
摘要

这篇文章主要介绍“服务器故障实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“服务器故障实例分析”文章能帮助大家解决问题。1. 出故障了没办法,干it这一行,就得天天面对故障,大家就是传说中的消

这篇文章主要介绍“服务器故障实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“服务器故障实例分析”文章能帮助大家解决问题。

1. 出故障了

没办法,干it这一行,就得天天面对故障,大家就是传说中的消防员,到处救火。不过,这次的故障范围有点大,宿主机都打不开了。

好在监控系统留下了一些证据。

证据发现,机器的CPU、内存、文件句柄,随着业务的增长,持续的上升...上升....,直到监控也无法将信息收集上来。

要命的是,这些宿主机上,部署了非常多的Java进程。没别的原因,就是为了节省成本,混部了应用。当宿主机表现出整体性的异常时,就难以找到罪魁祸首。

因为远程登录也Over,暴躁的运维只能重启机器,重启机器之后开始重启应用。经过漫长的等待,所有的进程都活了,但是,仅仅过了片刻,宿主机又立即死去。

业务一直处于死翘翘的状态,真是让人恼火啊。也让人心急。尝试过几次之后,运维崩溃了,启动了紧急预案:回滚!

最近的上线记录有点多,而且有开发人员私自上线部署的行为,运维蒙圈了:回滚哪些呢?还好有人脑瓜一亮,想起了还有find这个命令,那就找到最近更新的所有jar包,都给它来次回滚吧。

find /apps/deploy -mtime +3 | grep jar$

如果你不知道find这个命令,那可还真的是一场灾难。还好有人知道。

把十来个jar包回滚,还好没有碰到数据库的schema变更,系统终于正常运行了。

2. 找原因

没别的办法,查日志,进行代码审查。

代码审查要追溯到最近1周或者2周之内的代码改动,因为有些功能代码要沉淀一段时间,才能到线上风光一把。

看着满屏的提交记录“OK”,技术经理的脸都绿了。

“xjjdog说过,《80%的程序员,不会写commit记录》,我看你们是100%都不会写”。

大家都静悄悄的,忍着痛翻查历史变更。经过大家的不懈努力,终于在屎山之间,找到了一些问题代码。CxO亲自建了个群,大家一股脑的把可能会出问题的代码,扔到了群里面。

"系统服务中断了接近一个小时,影响非常恶劣",CxO说,“务必把问题彻底解决掉,这个问题投资人非常关注”!

okokok,有了钉钉的助力,大家的手势都变得整齐划一。

3. 线程池的参数

代码有点多,大家对问题代码讨论了老久。包括一些使用并行流的,还有套在lamba表达式里的炫技代码,还重点排查了一些线程池的使用代码。

最后大家决定还是对线程池的代码再过一遍。其中有一段是这么写的。

RejectedExecutionHandler handler = new ThreadPoolExecutor.DiscardOldestPolicy(); ThreadPoolExecutor executor = new ThreadPoolExecutor(100,200,                 60000,                 TimeUnit.MILLISECONDS,                 new LinkedBlockingDeque<>(10),                 handler);

还别说,参数有模有样的,甚至考虑到了拒绝策略。

Java的线程池,使得编程变的非常简单。它有很多参数,如上图,我们一一介绍一下,否则代码是无法审查的。

  • corePoolSize:核心线程数,核心线程创建后会一直存活

  • maxPoolSize:最大线程数

  • keepAliveTime:线程空闲时间

  • workQueue:阻塞队列

  • threadFactory:线程创建工厂

  • handler:拒绝策略

下面来介绍一下它们的关系。

当线程数小于核心线程数的时候,有新的任务到来,将会生成一个新的线程进行服务。当当前线程数大于核心线程数,而且阻塞队列未满的时候,将会把任务放在阻塞队列中。当线程数大于核心线程数,而且阻塞队列满了的时候,将会创建新的线程进行服务,直到线程数到达maximumPoolSize的大小。此时,如果还有新的任务,将触发拒绝策略。

再说一下拒绝策略。jdk默认实现了4种策略,默认实现的是AbortPolicy,也就是直接抛出异常。下面介绍其他几种。

  • DiscardPolicy 比abort更加激进,直接丢掉任务,连异常信息都没有

  • CallerRunsPolicy  由调用的线程来处理这个任务。比如一个WEB应用中,线程池资源占满后,新进的任务将会在Tomcat线程中运行。这种方式能够延缓部分任务的执行压力,但在更多情况下,会直接阻塞主线程的运行

  • DiscardOldestPolicy 丢弃队列最前面的任务,然后重新尝试执行任务

这段线程池的代码是新加的,参数设置还算正常,并没有什么大的问题。唯一有可能的风险,就是使用DiscardOldestPolicy  的拒绝策略。当任务非常多的时候,这个拒绝策略会造成任务排队,请求超时。

当然不能放过这种风险,说实话也是到现在为之能够找到的最可能的风险代码了。

"把DiscardOldestPolicy 改成默认的AbortPolicy吧,重新打包上线一下试试“。技术大牛在群里说。

4. 问题在哪里?

结果,服务灰度上线之后,宿主机不多时,就死掉了。是它的原因没跑了,但是why?

线程池的大小 ,最小100,最大200,说什么也不过分。阻塞队列的容量只有10,说什么也不会造成问题。你要说是这个线程池造成的原因,打死我都不信。

但是业务部门反馈,这段代码加上就死,不加就没事。技术大牛们抓耳挠腮百思不得其姐。

到最后,终于有人忍不住了,下载下业务的代码打算调试一下。

当他打开idea的时候,瞬间懵逼了,又瞬间领悟了。他终于明白了这段代码为什么会产生问题了。

服务器故障实例分析

线程池,竟然是在方法里创建的!

当每一个请求到来的时候,它都会创建一个线程池,直到系统再也无法分配资源为止。

可真是霸道啊。

所有人都在关注线程池的参数是怎么设置的,但从来没有人怀疑这段代码所在的位置。

关于“服务器故障实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网服务器频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 服务器故障实例分析

本文链接: https://www.lsjlt.com/news/286869.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 服务器故障实例分析
    这篇文章主要介绍“服务器故障实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“服务器故障实例分析”文章能帮助大家解决问题。1. 出故障了没办法,干it这一行,就得天天面对故障,大家就是传说中的消...
    99+
    2023-06-17
  • 云服务器常见故障分析
    云服务器(Cloud Storage,Cloud Vault)是一种用于存储数据和应用程序的设备,通常位于远程地理位置,因此出现故障可能很难定位和定位到问题所在。以下是云服务器常见的一些故障分析: 故障表现:在服务器出现故障时,通常会产...
    99+
    2023-10-26
    常见故障 服务器
  • 阿里云服务器故障赔偿详解与案例分析
    随着互联网的快速发展,云计算已成为许多企业和个人的重要选择。然而,由于技术问题和人为失误,云计算服务可能会出现故障,导致用户数据丢失或业务中断。因此,如何解决云服务器故障并确保用户权益,成为了云计算服务提供商需要考虑的问题。本文将详细探讨阿...
    99+
    2023-11-05
    阿里 案例分析 详解
  • 云服务器常见故障现象分析
    云服务器常见故障主要分为以下几种: 性能问题:出现性能问题时,需要查看服务器日志、性能分析工具等,以找到导致问题出现的具体原因,例如:服务器配置不当、虚拟机过载等。 安全问题:服务器遭受攻击、被黑客入侵时,需要检查网络流量、系统日志等,...
    99+
    2023-10-26
    常见故障 现象 服务器
  • 云服务器常见故障分析报告
    云服务器常见故障分析报告指的是对云服务器的常见故障进行分析和总结,以便为客户或者管理员提供有价值的数据和参考。以下是云服务器常见故障分析报告中可能出现的一些故障: 性能故障:云服务器常见故障包括网络故障、性能问题、负载问题等。网络问题是...
    99+
    2023-10-26
    分析报告 常见故障 服务器
  • WINDOWS2016故障转移的示例分析
    这篇文章跟大家分析一下“WINDOWS2016故障转移的示例分析”。内容详细易懂,对“WINDOWS2016故障转移的示例分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“WIN...
    99+
    2023-06-26
  • 腾讯云服务器实例分析
    腾讯云服务器实例分析主要关注于服务器的配置、部署和使用,以及服务的性能和可靠性等方面。下面是一个简要的介绍: 服务简介: 腾讯云服务器提供了多种服务,如云主机、云存储、云监控、负载均衡等。它们可以帮助用户构建高可用、可靠的云基础设施,同...
    99+
    2023-10-26
    腾讯 实例 服务器
  • 亚马逊服务器实例分析
    亚马逊服务器的特点包括: 高可靠性:亚马逊服务器提供冗余机制,包括备用节点和热备份。这些机制可以确保在主节点故障时,应用程序仍能正常运行。 高可用性:亚马逊服务器采用集群技术,将多个节点组合在一起,以提高系统的可用性和可靠性。 高性能:...
    99+
    2023-10-27
    亚马逊 实例 服务器
  • 云服务器实例类型分析
    云服务器实例类型是指云服务提供商所提供的不同配置的虚拟服务器实例。不同的实例类型具有不同的计算、存储和网络资源,以满足不同的应用需求。云服务器实例类型通常根据 CPU、内存、存储和网络带宽等参数进行分类。云服务器实例类型分析">通用型实例是...
    99+
    2023-10-26
    实例 类型 服务器
  • 云服务器常见故障分析有哪些
    云服务器是一种虚拟的存储和计算服务,它可以通过互联网连接到公共云计算服务提供商的服务器上。常见的故障可能包括: 资源消耗:资源消耗是云服务器常见的故障之一。当用户访问云服务器时,服务器可能需要大量的计算资源或存储空间。如果这些资源消耗较...
    99+
    2023-10-26
    常见故障 服务器 有哪些
  • 阿里云服务器故障原因分析报告
    本文主要针对阿里云服务器的故障原因进行了深入的分析和研究,旨在帮助用户更好地理解并解决相关问题。通过对大量数据的收集和分析,我们得出了阿里云服务器故障的常见原因,并提出了一些实用的解决方案。 一、阿里云服务器故障原因分析硬件故障:这是最常见...
    99+
    2023-11-15
    阿里 分析报告 故障
  • 亚马逊服务器出现故障原因分析
    硬件故障:服务器硬件包括服务器主板、CPU、内存、磁盘等,如果这些硬件出现故障,可能会导致服务器无法正常工作。 软件故障:服务器操作系统、应用程序、数据库等软件可能存在错误或漏洞,这些错误或漏洞可能会导致服务器崩溃或数据丢失。 网络故障:...
    99+
    2023-10-27
    亚马逊 出现故障 原因
  • 云服务器常见故障现象分析报告
    云服务器常见故障现象分析报告,以下是一些常见的云服务器故障现象和处理方法: 现象: 1. 服务器无法提供服务:服务器无法启动,并且连接速度很慢。 原因分析:服务器可能已经连接,但无法提供所需的服务。可能是由于网络故障、数据中心故障、硬件故...
    99+
    2023-10-27
    分析报告 常见故障 现象
  • Hybris服务器启动日志实例分析
    这篇文章主要介绍“Hybris服务器启动日志实例分析”,在日常操作中,相信很多人在Hybris服务器启动日志实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hybris服务器启动日志实例分析”的疑惑有所...
    99+
    2023-06-04
  • Linux问题故障定位的示例分析
    小编给大家分享一下Linux问题故障定位的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 背景有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现...
    99+
    2023-06-16
  • 云服务器常见故障分析有哪些原因
    云服务器是一种虚拟的资源,需要定期进行维护和管理。以下是常见的云服务器故障分析原因: 故障现象:出现以下故障可能是因为云服务器中的系统出现了故障:资源不足、配置失误、系统错误、网络连接问题等。 解决方案:首先需要检查云服务器的硬件配置,...
    99+
    2023-10-27
    常见故障 原因 服务器
  • 云服务器常见故障分析有哪些方法
    云服务器是一种虚拟的资源,可能会因为各种原因出现故障。以下是常见的云服务器常见故障分析方法: 故障排查:确定发生故障的原因。首先要确保服务器的硬件、软件和环境都没有问题,然后检查数据库、存储、网络和其他关键系统是否正常运行。 备份:使用...
    99+
    2023-10-27
    常见故障 服务器 方法
  • 云服务器常见故障分析有哪些问题
    云服务器是一种虚拟的存储和计算服务,因此常见的故障可能包括以下几个: 资源故障:服务器资源的分配不合理或分配不够充足,导致服务器资源无法满足需求,或者服务器资源无法被访问或使用。 配置故障:服务器软件或配置的参数设置可能存在问题,如不正...
    99+
    2023-10-27
    常见故障 服务器 有哪些
  • 阿里巴巴云服务器实例分析
    阿里巴巴云服务器实例分析 随着互联网技术的飞速发展,越来越多的企业和个人开始使用云计算服务来提高效率、降低成本。其中,阿里巴巴云服务器作为全球领先的云计算服务商之一,其提供的服务得到了广泛的认可和使用。本文将对阿里巴巴云服务器实例进行详细的...
    99+
    2024-01-25
    阿里巴巴 实例 服务器
  • Skype for Business会议故障的示例分析
    这篇文章主要介绍了Skype for Business会议故障的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Lync/Skype ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作