您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 执行开销 >

案例2: 某寿险公司核心系统GC开销超限问题分析

发布时间:2019-07-27 04:27 来源:未知 编辑:admin

  某寿险公司的核心系统是运行在实体机上的,实体机的性能都挺好,但是系统的性能却不尽如人意。而且之前某寿险公司的核心系统出过几次性能上的问题,但是我们总是找不到根本原因。每次都是重启完了事,也不清楚性能问题究竟对系统造成了什么样的影响。

  装上Dynatrace之后,立马就有关于某寿险公司核心系统的性能告警,告警是关于GC对系统性能造成较大影响(即JVM的GC开销超过限制),我们这才知道问题的严重性,也知道了从何下手。之后我们定位到导致系统问题的根源,一个是加载的一个用来监控应用各项参数的javamelody的jar包,另一个是因为system.gc()频繁地调用fullgc,导致系统“stop the world”时间过长。

  某寿险公司核心系统安装上Dynatrace之后,立马出现如下的告警邮件:

  原因:进程X:0的垃圾回收运行状况不正常。 由于在垃圾回收过程中花费大量执行时间,因此应用程序进程的显著挂起时间会持续一段时间。

  影响: 过去的 5 分钟内,该进程用于回收垃圾的时间,总是多于其执行时间 15%。

  多于其执行时间 15%!是的,直到看到这个告警,我们才意识到性能问题居然这么严重,GC所花费的时间,在某段时间内已经超过总的执行时间的15%,而且此告警很频繁。具体如下:

  可以从上图看出,核心系统的大部分机器都出现了性能问题,并且很频繁,另外有时甚至在长达1、2个小时内,GC时间占用执行时间超过15%!这是很严重的性能问题。而该问题直到我们使用了Dynatrace才首次意识到。

  针对该问题,为了进一步分析,我们使用了Dynatrace自带的仪表图–应用程序进程图表。具体如下:

  接下来我们分析了对应的GC日志,发现日志中存在大量的system.gc(),并且该每次调用都是执行full gc。关于SystemGC触发full gc的解释,我们查到的原因如下:

  之后我们在其中一台上添加了该参数,添加之后与其他没有添加的做对比,利用dynatrace的自定义仪表板的功能,直接抓取“Suspension Time”(每个时间间隔中GC导致的挂起时间)这一参数做对比画出曲线图。发现加了后GC导致的暂停时间大幅下降!由于比较早,该图找不到了,附上一张使用另一个小工具分析的结论:

  确认加上该参数可以改善gc性能后,我们在核心的所有jvm里都添加了改参数。加入后,除了其中一台机器还会告警,其他机器运行正常。而那台告警的机器,我们发现还有其他的问题。

  可以看到,GC暂停时间,其他jvm都是位于10ms左右的数量级,而另一台则是6000ms左右的数量级!这对应用造成了较大的影响,具体可以通过dynatrace的下图看出:

  直接导致应用,具体到客户的某一请求,由于gc ”stop the world”导致响应时间大幅增加,原本100多ms就能完成的请求,直接由于gc导致的挂起多花了7000ms!

  这次我们使用dynatrace自带的CPU采样热点分析和内存快照分析工具来进行分析。

  javamelody-JVM监控程序。可以用来分析具体的问题点。该jar包会定时(较频繁)采集应用的相关指定的数据,并且对数据进行打包、压缩、发送。

  而javamelody的这些操作是既消耗CPU又消耗jvm内存资源。对系统的行能造成了较大的影响。而在我们的建议下,项目组拿掉了这个jar包。改用Dynatrace的仪表板和报告.

  通过dynatrace,我们发现了核心系统的问题,并快速的分析解决了该问题。解决问题之后,核心系统运行起来平稳而高效。从以前每天都要关注,出了问题抓耳挠腮,变成了今天的风淡云清。

  关于易保易保的使命是让保险变得容易。公司于2000年成立后,引领了基于Java的3G保险技术,经历了快速的成长,现今业务已遍布全球30多个国家,服务于200多家保险公司及众多保险代理、经纪公司及其它生...博文来自:Link的专栏

  目前国内最流行的保险核心架构:最底层还是IBM的AS400服务器,然后上面是美国CSC公司的SMART系统,以及在A、SMART系统上的LIFEAsia(LA).上面说的是核心这块,围绕这块还有很多外...博文来自:lixiaobozhangju的专栏

  降低GC开销的根本方法是减少内存的开销,以下是一些我们经常会遇到的情况和其相对于又用的编程技巧,以便提高程序性能。使用StringBuilder或者StringBuffer拼接字符串使用+=的拼接字符...博文来自:落叶无声的专栏

  平安科技:1.说一下你的项目。四要素:项目背景,技术架构,个人负责部分,技术难点和解决方案。(一定要清晰,因为面试官听得很认线.围绕你的项目继续问你技术问题:1为什么要用es,而不采用临时表,好吃...博文来自:u010419531的专栏

  常见科目核算场景及含义 应收保费:核算保险公司按照原保险合同约定应向投保人收取但尚未收到的保险费。该科目属于资产类科目,其借方登记公司发生的应收保费及已确认坏账并转销的应收保费又收回的金额,贷方登记...博文来自:蜗牛学习笔记

  本周去了深圳平安寿险面试,记录一下。我是直接网投的,后面会收到测评邮件,做一份IQ和EQ题,通过会安排面试。主要还是看着简历问。就还记得这么多。(背景:17届普本毕业生,无大厂经历,由于现在公司组织架...博文来自:Yeomer的博客

  寿险是人身保险中的一个大类,保障责任简单直接:被保人身故(或全残)或到保险合同中指定的年龄时,保险公司给付保险金。从寿险的保障责任中可以看出,这种产品主要是针对家庭中的顶梁柱准备的。一旦家庭支柱发生不...博文来自:kikajack的博客

  24小时的概念及带来的问题1.24小时是个系统可用性的问题,比如晚上出去夜宵用银行卡结账、去KTV凌晨刷卡结账、去国外其他时区旅游刷卡消费等都要求核心系统提供24X7不间断服务。2.所有的时段都有交易...博文来自:weixin_42306441的博客

  FreeCacheFreeCache是一个Go语言的缓存库,无额外的GC负荷。数百万对象的垃圾收集延迟仅在数百毫秒。您可以在内存中缓存无限数量的对象,而不会增加延迟和降低吞吐量。特征可存储数以百万计条...博文来自:weixin_33787529的博客

  对JVM性能的监控是非常重要的,它可以实时的了解JVM性能消耗情况。 一:垃圾收集监控JVM的垃圾收集非常重要,因为它对应用的吞吐量和延迟有深刻影响。HotspotVM两种方式查看垃圾回收情况:日志打...博文来自:zhouxihua的博客

  平安寿险AI团队姚晓远:对话生成模型研究背景模型介绍模型改进效果评估资料获取更多内容干货请敬请关注「平安寿险PAI」人机对话作为人机交互系统的核心功能之一,发挥着十分重要的作用。目前,生成式的人机对话...博文来自:最AI的小PAI

  前言T24产品简介T24corebanksystem是瑞士TEMENOS公司银行核心系统产品,可为银行提供各种业务服务。包括核心和业务两大内容,核心系统用于支持账户、会计、清算、总账、客户等银行基础服...博文来自:小钢炮

  2018年10月10日凌晨2点接到信调值班员电话,单位信息运维统一监管(I6XXX)系统报警显示公司门户和网站系统性能检测报警,页面访问响应时长和模拟登录功能异常,实际情况是网站和门户系统运...博文来自:xudxy的专栏

  1、简介   最近负责的一个平台项目,主要功能是使用模型打分,最后排序返回,最近响应时间经常出问题,有些机器在早上会出现响应时间变长,没有查到原因,现在将整体现象和部分逻辑功能描述一下,希望各路大神帮...博文来自:LVZHULIU的博客

  前言堆中存放对象,栈中存放基本类型和堆中对象的引用一个Object对象占用4+8bytes,4bytes是栈中的引用,8bytes是堆中对象的实际大小。如果这个对象有个long属性,其大小为8+4+8...博文来自:gwt0425的博客

  Spark实时统计订单量-简书注:组件不了解的同学可参考其他文章,本文主要讲项目的实现1、某些同...博文来自:weixin_33872566的博客

  需要知道 gc 进行0 1 2代回收的时间, 有没有什么好办法?精确到毫秒rn用stopwatch 感觉好像不行论坛

  gc 回收 rn1 浏览root 标记 无引用对象 rn2 清理无引用对象 rn3 压缩空间 rn这其中 主要开销来至哪步?如果2代堆 和 大对象堆增大 ,应该会对第一步产生影响,这个影响多大?一个比较大的程序 0代gc 一般多少毫秒? 1代gc 多少毫秒?(普通双核 1g内存的程序)rn有没有办法 对程序内的 某写方法 运行一个完全独立的gc ?rnrn论坛

  用于socket通讯,可以用于核心系统之间的交易。有国内某专业通讯公司提供,其中编译后文件可被反编译后使用。

  属于一个小型公司内网组网架构实训案例,使用了OSPF技术;ACL技术;NAT技术,局域网覆盖有限的地理范围,适用于公司、校园等有限范围内的计算机、终端与各类信息设备连网的需求。一般属于一个单位所有,组建方便、使用灵活、误码率低,易于维护和...

  第一部分:研究方法 3 第二部分:国内银行核心系统建设情况 4 第三部分:部分银行核心系统建设细况 14 第四部分:IT系统建设关键问题分析 19

  最近身边不少朋友遭遇了家庭变故,百感交集。首先想到的是,大学期间学的寿险避险方法,购买高额度(保额而不是购买的保险的金额)的重疾或大病保险,让他人与你一同分担保险。但行业上的保险千奇百怪,稍不留神就会...博文来自:weixin_43356605的博客

  #13; 虽说年底是IT事故多发的期间,不过这次民生银行系统瘫痪事故还是让人觉得有点严重。事发2月3号,从上午11:00到下午15:30,故障持续四个多小时,全行系统瘫痪。对外称是”核心...博文来自:Fenngs Blog

  GC原理三个步骤:1.需要回收的对象?回收那些不可能再被任何途径使用的对象1.1.怎样确定哪些对象是不再被引用的对象?(两次标记)首先:通过可达性分析算法对GC-ROOT对象向下搜索,搜索到的对象到G...博文来自:程橙的博客

  随着某体育用品公司集团经营规模的不断扩大,信息化的建设也在不断的深入,从POS系统到ERP系统,从MAIL系统到OA系统,整个集团的每项工作都与信息系统密不可分,可以说是行业内信息化建设的先导者。但是...博文来自:IT小牛的IT见解

  ELM(Extemelearningmachine,超限学习机),由新加坡南洋理工大学的GuangbinHuang(黄光斌)副教授提出的。...博文来自:积流成河

  这篇文章着重于介绍如何写好Lua代码,以及优化的一些经验。作者在优化RO和隔壁项目组手游的CPU性能时,发现CPU性能问题非常个性化,两个项目遇到的问题截然不同。而通用的Lua性能优化的Tips,往往...博文来自:UWA—简单优化,优化简单!

  业务:存储中心(核心业务数据、数据仓库)。处理中心(核心业务逻辑)。管理:安全认证和安全管理中心。全行系统管理中心。门户:联络中心(人总行、金卡总中心、SWIFT等总行统一的对外接口)。INTERNE...博文来自:沫颜之念...

  临界资源是:Ticket类中的tickets属性。卖票案例//使用同步代码块,锁是this,也可以更改为同步方法【静态方法(锁是类名.class)或者时非静态方法(锁是this)】publicclas...博文来自:的博客

  JVM性能案例分享---今天来给大家分享几则性能分析和调优的案例:案例一:回收器选择不当导致频繁FGC【问题描述】使用单台8C8G压力机Jmeter压测A系统,约3mins内存就占满4G,频繁出现FG...博文来自:爱测未来团队博客

  这是ORACLEEBS 入门及供应链核心系统详解教程-上册,稍后会上传下册,此书是入门必看的好资料。

  目录之后分三个章节: 一、总体目标; 二、总体架构; 具体包括:总体结构图、渠道表现接入层、服务层、业务层、数据层、部署图。 . 三、核心业务系统。 具体包括:机构管理、柜员管理、卡凭证管理、现金管理。 . 【总的来...

http://nicolashsiung.com/zhixingkaixiao/269.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有