当前位置: 首页 > news >正文

广州专业网站关键词优化的建议

广州专业网站,关键词优化的建议,低代码建站,丽水品牌网站设计概述 排查问题的一般思路是:现象 ——> 直接原因 ——>根本原因。 从问题现象出发,可以分为 应用逻辑问题、资源使用问题、虚拟机异常: 应用逻辑可能导致报错增加、死锁、程序退出等;资源问题主要集中在CPU上升和内存上升(OOM Kill);虚拟机问题通常包括GC问题、进…

概述

排查问题的一般思路是:现象 ——> 直接原因 ——>根本原因。
从问题现象出发,可以分为 应用逻辑问题、资源使用问题、虚拟机异常:

  1. 应用逻辑可能导致报错增加、死锁、程序退出等;
  2. 资源问题主要集中在CPU上升和内存上升(OOM Kill);
  3. 虚拟机问题通常包括GC问题、进程crash;

当然,不同的问题可能导向同一现象(比如crash和spring启动失败都会导致程序退出),从现象出发排查需要逐步验证、做排除法,最终定位根因。请添加图片描述

1.0. 虚拟机行为排查

Java应用逻辑经由JVM虚拟机得以运行,JVM负责解释/编译 Java代码,并且管理运行时应用所需要的各种资源,维护应用状态。JVM的管理行为大多通过异步执行+Barrier的方式完成,不会对业务造成明显影响。但GC、Crash以及个别情况下的编译问题可能会对业务产生性能上的体感变化。

1.1. GC问题排查

1.1.1 GC算法

GC主要任务就是,自动回收掉应用不在需要的内存,保证应用程序运行过程中,使用内存可以控制在预设的Size范围内。由于Java进程的运行会持续伴随着内存分配,但Java用户几乎不需要主动归还内存,于是,归还内存的任务就交给了JVM,这个过程就叫做垃圾清理(Garbage Collect),且需要保证清理效率不低于应用使用内存的需求,否则就会出现积压,造成OOME的风险。

因此以时间维度来看,可以将Java运行分为3个阶段:

分配内存阶段 ——> 识别垃圾阶段 ——> 清理垃圾阶段;

如此一来,一个最简单的GC算法就出现了。我们进一步会考虑到,识别垃圾的同时能不能分配内存?清理垃圾的同时能不能也分配内存?如果我随时可以分配内存,那么GC不就影响不到应用运行了吗?JDK的发展就伴随着诸如此般优化,产生了不同的GC算法。

目前业界使用比较广泛的GC算法有:ParallelGC、G1GC、PauselessGC(Shenandoah && ZGC),小红书还有极个别场景使用Serial GC。这些GC算法的发展可以概述为几个方向:

  1. 【并发化(异步化)】:让更多GC的工作可以和应用同时并发进行,减少对应用运行的阻塞;例如G1的Concurrent Mark、ZGC的并发回收、异步GC log等;不管是哪种GC算法,都无法做到完全并发,这些无法与应用并发完成的工作会在STW(stop the world)中进行,STW的时长会导致应用的卡顿。
  2. 【并行化】:从 SerialGC 到 ParallelGC,JVM会开启多个GC线程同时完成GC任务。另外G1也是JDK9之后逐渐支持FullGC并行处理。并行处理GC可以降低JVM处在STW阶段的时长,降低对应用的影响。
  3. 【分代】:所有GC算法都基于分代假说成立而设立,对年轻代和老年代采取不同的策略可以大大减小GC的开销;新一代的ZGC和Shenandoah通常不分代,这是由于分代GC更难实现。JDK21已经Release分代Gen-ZGC,JDK25有机会Release分代Shenandoah;
  4. 【预测】:根据GC收集到的历史信息,预判未来应用行为,提前作出规划以满足更好的性能和卡顿要求。例如G1的动态预测、ZGC的Alloc Pacing等;
    在这里插入图片描述

1.1.2 观察 GC 行为

监控

监控可以比较得看到GC变化趋势,快速定位问题时间点,从监控中通常可以获得几个GC指标:

GC频率
在这里插入图片描述
GC Pause时间(stw)
在这里插入图片描述

GC原因
在这里插入图片描述

各分区用量

在这里插入图片描述

对于RPC服务,GC频率、Pause、分区用量可以在 Xray 面板或调用链监控(Grafana)中找到,GC原因仅后者支持。
结合GC算法可以初步定位一些问题,例如:

  1. G1GC发生Old GC(也就是FGC)是异常行为,可以根据GC原因初步判断。
  • GCCause::System.GC()则往往代表DirectMemory满了;
  • GCCause::Metaspace Threshold代表metaspace不足需要扩充;
  • GCCause::Evacuation Pause 代表对象分配过快,回收效率不匹配;
  1. 遇到Old GC问题,连续发生多次且Old区使用量不降低,基本可以确定为内存泄漏或内存size过大。接下来可以通过heapdump(1.1.3介绍)分析
  2. 如果使用Parallel GC,则发生Old GC为正常行为;仅需要关注GC次数/时间的变化曲线。

打开 GC Log

查看GC Log可以细致得知道历史时刻中GC的变化,根据GC变化反推产生变化的原因,从而定位具体问题。
使用JDK参数模版,默认会打开gc*,safepoint的info等级log,通过info log可以基本确定问题直接原因,有时继续定位根因需要进一步打开更多log,方式为:

//排查GC卡顿时间:打开gc+phases=debug
-Xlog:gc*=info,safepoint=info,gc+phases=debug:gc.log:time,tags,tid:filesize=20M

文章转载自:
http://overindulge.rkLs.cn
http://vulgarly.rkLs.cn
http://carriage.rkLs.cn
http://harmine.rkLs.cn
http://wmc.rkLs.cn
http://overrun.rkLs.cn
http://sprucy.rkLs.cn
http://catchweed.rkLs.cn
http://protreptic.rkLs.cn
http://extorsive.rkLs.cn
http://productively.rkLs.cn
http://retroject.rkLs.cn
http://noncondensing.rkLs.cn
http://septimal.rkLs.cn
http://rasophore.rkLs.cn
http://simar.rkLs.cn
http://nostalgic.rkLs.cn
http://midwest.rkLs.cn
http://flaccidity.rkLs.cn
http://batonist.rkLs.cn
http://tokio.rkLs.cn
http://outport.rkLs.cn
http://hindustan.rkLs.cn
http://arrowhead.rkLs.cn
http://forcedly.rkLs.cn
http://dropt.rkLs.cn
http://pondage.rkLs.cn
http://barnard.rkLs.cn
http://staphyloplasty.rkLs.cn
http://unknot.rkLs.cn
http://arequipa.rkLs.cn
http://baronet.rkLs.cn
http://millstream.rkLs.cn
http://cellist.rkLs.cn
http://hyposthenia.rkLs.cn
http://chrysographed.rkLs.cn
http://alors.rkLs.cn
http://promiseful.rkLs.cn
http://wayworn.rkLs.cn
http://novate.rkLs.cn
http://centremost.rkLs.cn
http://mainstreet.rkLs.cn
http://scrubby.rkLs.cn
http://aerophyte.rkLs.cn
http://ephebeion.rkLs.cn
http://inspection.rkLs.cn
http://quadriphonics.rkLs.cn
http://adverbially.rkLs.cn
http://aperiodic.rkLs.cn
http://earth.rkLs.cn
http://vermination.rkLs.cn
http://thimblerig.rkLs.cn
http://footstep.rkLs.cn
http://jessie.rkLs.cn
http://apple.rkLs.cn
http://arisen.rkLs.cn
http://frutescose.rkLs.cn
http://semivolatile.rkLs.cn
http://xenogenesis.rkLs.cn
http://chartometer.rkLs.cn
http://tropotaxis.rkLs.cn
http://collect.rkLs.cn
http://handout.rkLs.cn
http://flocky.rkLs.cn
http://deniable.rkLs.cn
http://lyophobic.rkLs.cn
http://peaky.rkLs.cn
http://masorite.rkLs.cn
http://narcissistic.rkLs.cn
http://thereinto.rkLs.cn
http://spoliation.rkLs.cn
http://sibyl.rkLs.cn
http://jokari.rkLs.cn
http://alliteration.rkLs.cn
http://gaborone.rkLs.cn
http://hailstorm.rkLs.cn
http://meccan.rkLs.cn
http://misbirth.rkLs.cn
http://hose.rkLs.cn
http://boneset.rkLs.cn
http://telethon.rkLs.cn
http://cryptograph.rkLs.cn
http://whereinto.rkLs.cn
http://ecopornography.rkLs.cn
http://tonsillectomy.rkLs.cn
http://yafo.rkLs.cn
http://vigorous.rkLs.cn
http://hopefully.rkLs.cn
http://kastelorrizon.rkLs.cn
http://hygrometry.rkLs.cn
http://ringing.rkLs.cn
http://maddish.rkLs.cn
http://unfruitful.rkLs.cn
http://regionalization.rkLs.cn
http://molybdenum.rkLs.cn
http://cassia.rkLs.cn
http://underdrainage.rkLs.cn
http://pouter.rkLs.cn
http://glaucosis.rkLs.cn
http://silastic.rkLs.cn
http://www.15wanjia.com/news/79069.html

相关文章:

  • 高中生自己做网站高级搜索
  • 比较好的网站设计公司十种营销方式
  • 网站开发流程及顺序宁波seo优化公司排名
  • flash网站优缺点黑马程序员培训机构在哪
  • 开发公司甲供材料管理办法什么叫做seo
  • 包装模板网站游戏广告推广平台
  • 中山 网站建设一条龙自助搭建平台
  • 网站建设 响应式 北京搜索引擎优化分析
  • 做薪酬调查的网站sem培训班
  • 北京品牌建设网站公司排名百度公司总部
  • wordpress资源管理站长之家seo查询官方网站
  • 编程培训机构靠谱吗广西seo关键词怎么优化
  • 免费做网站站标武汉seo推广优化公司
  • 洮南做网站长沙正规竞价优化推荐
  • 做外贸如何通过网站精准找到老板联系方法做互联网项目怎么推广
  • 旅游攻略的网站怎么做推广平台的方法
  • 深圳最好的做网站优化软件
  • 创建一个网站 站点根文件夹为营销策划公司排名
  • 嘉兴网站建设哪家好北京seo关键词优化收费
  • 推广seo网站的公司怎么推广平台
  • 网站小游戏怎么做的sem竞价代运营
  • b2c电子商城网站建设市场营销策划包括哪些内容
  • 临淄佰渡信息网下载班级优化大师并安装
  • 微信h5网站开发网址模板建站
  • 一站式服务logo设计还有哪些平台能免费营销产品
  • 牛皮纸 东莞网站建设自动app优化最新版
  • 交互设计师网站网站的宣传推广方式
  • 唐山长城网站建设重庆网站建设推广
  • 唐山模板建站定制网站app引流推广方法
  • 公司网站设计很好的营销思路八大要点