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

网站模板内容怎么改如何做高大上的网站 知乎

网站模板内容怎么改,如何做高大上的网站 知乎,搜狗网站收录入口,怎么做电商新手入门目录 一.GC调优的核心指标 1.1吞吐量#xff08;Throughput#xff09; 1.2延迟#xff08;Latency#xff09; 1.3内存使用量 二.GC调优的方法 2.1监控工具 Jstat工具 VisualVm插件 Prometheus Grafana 2.2诊断原因 GC日志 GC Viewer GCeasy 2.3常见的GC模… 目录 一.GC调优的核心指标 1.1吞吐量Throughput 1.2延迟Latency 1.3内存使用量 二.GC调优的方法 2.1监控工具 Jstat工具 VisualVm插件 Prometheus Grafana 2.2诊断原因 GC日志 GC Viewer GCeasy 2.3常见的GC模式 正常情况 缓存对象过多 内存泄漏 持续的FULL GC 元空间不足导致的FULL GC 三.修复GC问题 3.1优化基础JVM参数 参数1 -Xmx 和 –Xms 参数2 -XX:MaxMetaspaceSize 和 –XX:MetaspaceSize 参数3 -Xss虚拟机栈大小 不建议手动设置的参数 其他参数 3.2垃圾回收器的选择 GC调优 GC调优指的是对垃圾回收Garbage Collection进行调优。GC调优的主要目标是避免由垃圾回收引起程序性能下降。 GC调优的核心分成三部分 通用JVM参数的设置。特定垃圾回收器的JVM参数的设置。解决由频繁的FULL GC引起的程序性能问题。 GC调优没有唯一的标准答案如何调优与硬件、程序本身、使用情况均有关系重点学习调优的工具和方法。 一.GC调优的核心指标 所以判断GC是否需要调优需要从三方面来考虑与GC算法的评判标准类似 1.1吞吐量Throughput 吞吐量分为业务吞吐量和垃圾回收吞吐量 业务吞吐量指的在一段时间内程序需要完成的业务数量。比如企业中对于吞吐量的要求可能会是这样的 支持用户每天生成10000笔订单在晚上8点到10点支持用户查询50000条商品信息 保证高吞吐量的常规手段有两条 优化业务执行性能减少单次业务的执行时间 优化垃圾回收吞吐量 垃圾回收吞吐量指的是 CPU 用于执行用户代码的时间与 CPU 总执行时间的比值即吞吐量 执行用户代码时间 /执行用户代码时间 GC时间。吞吐量数值越高垃圾回收的效率就越高允许更多的CPU时间去处理用户的业务相应的业务吞吐量也就越高。 1.2延迟Latency 延迟指的是从用户发起一个请求到收到响应这其中经历的时间。 延迟 GC延迟 业务执行时间所以如果GC时间过长会影响到用户的使用。 1.3内存使用量 内存使用量指的是Java应用占用系统内存的最大值一般通过JVM参数调整在满足上述两个指标的前提下 这个值越小越好。 通常这3个指标不能同时兼顾 二.GC调优的方法 2.1监控工具 Jstat工具 无法精确到GC产生的时间只能 用于判断GC是否存在问题 VisualVm插件 Prometheus Grafana 2.2诊断原因 GC日志 通过GC日志可以更好的看到垃圾回收细节上的数据同时也可以根据每款垃圾回收器的不同特点更好地发现存在的问题。 使用方法JDK 8及以下-XX:PrintGCDetails -Xloggc:文件名使用方法JDK 9-Xlog:gc*:file文件名 注 -verbose:gc 是将GC日志输出到控制台上而上面是将GC日志单独输出到一个文件 GC Viewer GCViewer是一个将GC日志转换成可视化图表的小工具github地址https://github.com/chewiebug/GCViewer 使用方法java -jar gcviewer的jar包 日志文件.log GCeasy GCViewer是将GC日志可视化而GCeasy是业界首款使用AI机器学习技术在线进行GC分析和诊断的工具。定位内存泄漏、GC延迟高的问题提供JVM参数优化建议支持在线的可视化工具图表展示。官方网站Universal JVM GC analyzer - Java Garbage collection log analysis made easy (gceasy.io) 2.3常见的GC模式 正常情况 特点呈现锯齿状对象创建之后内存上升一旦发生垃圾回收之后下降到底部并且每次下降之后的内存大小接近存留的对象较少。 缓存对象过多 特点呈现锯齿状对象创建之后内存上升一旦发生垃圾回收之后下降到底部并且每次下降之后的内存大小接近处于比较高的位置。 问题产生原因 程序中保存了大量的缓存对象导致GC之后无法释放可以使用MAT或者HeapHero等工具进行分析内存占用的原因。 内存泄漏 特点呈现锯齿状每次垃圾回收之后下降到的内存位置越来越高最后由于垃圾回收无法释放空间导致对象无法分配产生OutOfMemory的错误。 问题产生原因 程序中保存了大量的内存泄漏对象导致GC之后无法释放可以使用MAT或者HeapHero等工具 进行分析是哪些对象产生了内存泄漏。 持续的FULL GC 特点在某个时间点产生多次Full GCCPU使用率同时飙高用户请求基本无法处理。一段时间之后恢复正常。 问题产生原因在该时间范围请求量激增程序开始生成更多对象同时垃圾收集无法跟上对象创建速率导致持续地在进行FULL GC。 元空间不足导致的FULL GC 特点堆内存的大小并不是特别大但是持续发生FULL GC。 问题产生原因元空间大小不足超过了Java虚拟机设置的阈值导致持续FULL GC回收元空间的数据。 三.修复GC问题 解决GC问题的手段中前三种是比较推荐的手段第四种仅在前三种无法解决时选用 3.1优化基础JVM参数 参数1 -Xmx 和 –Xms -Xmx参数设置的是最大堆内存但是由于程序是运行在服务器或者容器上计算可用内存时要将元空间、操作系统、 其它软件占用的内存排除掉。 案例服务器内存4G操作系统元空间最大值其它软件占用1.5G-Xmx可以设置为2g。 最合理的设置方式应该是根据最大并发量估算服务器的配置然后再根据服务器配置计算最大堆内存的值。 -Xms用来设置初始堆大小建议将-Xms设置的和-Xmx一样大有以下几点好处 运行时性能更好堆的扩容是需要向操作系统申请内存的这样会导致程序性能短期下降。可用性问题如果在扩容时其他程序正在使用大量内存很容易因为操作系统内存不足分配失败。启动速度更快Oracle官方文档的原话如果初始堆太小Java 应用程序启动会变得很慢因为 JVM 被迫频繁执行垃圾收集直到堆增长到更合理的大小。为了获得最佳启动性能请将初始堆大小设置为与最大堆大小相同。 参数2 -XX:MaxMetaspaceSize 和 –XX:MetaspaceSize -XX:MaxMetaspaceSize值 参数指的是最大元空间大小默认值比较大如果出现元空间内存泄漏会让操作系统可用内存不可控建议根据测试情况设置最大值一般设置为256m。当元空间大小超过这个值时会抛出OutOfMemoryError。-XX:MetaspaceSize值 参数指的是到达这个值之后会触发FULL GC指的不是初始元空间大小 后续什么时候再触发JVM会自行计算。如果设置为和MaxMetaspaceSize一样大就不会FULL GC但是对象也无法回收。 参数3 -Xss虚拟机栈大小 如果我们不指定栈的大小JVM 将创建一个具有默认大小的栈。大小取决于操作系统和计算机的体系结构。 比如Linux x86 64位 1MB如果不需要用到这么大的栈内存完全可以将此值调小节省内存空间合理值为256k – 1m之间。 使用-Xss256k 不建议手动设置的参数 由于JVM底层设计极为复杂一个参数的调整也许让某个接口得益但同样有可能影响其他更多接口。 -Xmn 年轻代的大小默认值为整个堆的1/3可以根据峰值流量计算最大的年轻代大小尽量让对象只存放在年轻代不进入老年代。但是实际的场景中接口的响应时间、创建对象的大小、程序内部还会有一些定时任务等不 确定因素都会导致这个值的大小并不能仅凭计算得出如果设置该值要进行大量的测试。G1垃圾回收器尽量不要设置该值G1会动态调整年轻代的大小。‐XX:SurvivorRatio 伊甸园区和幸存者区的大小比例默认值为8。‐XX:MaxTenuringThreshold 最大晋升阈值年龄大于此值之后会进入老年代。另外JVM有动态年龄判断机制当 survior 区域的存活对象的总大小占用了 survior 区域大小的50%可以通过参数指定那么此时将按照这些对象的存活年龄从小到大排序然后依次累加当累加到对象大小超过50%则将大于等于当前对象年龄的存活对象全部挪到老年代。 其他参数 -XX:DisableExplicitGC 禁止在代码中使用System.gc() System.gc()可能会引起FULL GC在代码中尽量不要使用。使用DisableExplicitGC参数可以禁止使用System.gc()方法调用。-XX:HeapDumpOnOutOfMemoryError 发生OutOfMemoryError错误时自动生成hprof内存快照文件。-XX:HeapDumpPath 指定hprof文件的输出路径。 打印GC日志 JDK8及之前 -XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:文件路径 JDK9及之后 -Xlog:gc*:file文件路径 3.2垃圾回收器的选择
http://www.w-s-a.com/news/865803/

相关文章:

  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的
  • 网站开发需要什么文凭网站分析的优劣势
  • 海尔网站建设不足之处山东网站营销
  • 楚雄 网站建设广告设计一般人能学吗
  • 热搜榜排名前十山东seo多少钱
  • 衡水哪有建网站的吗企业信息系统英文
  • 有模板怎么建站wordpress媒体库图片路径
  • 怎么做网站h汉狮企业网站营销的实现方式
  • 新津县建设局网站怎么做区块链网站
  • 网站设计与制作是什么专业广州优化网站
  • 腾讯有做淘宝客网站吗网站开发包
  • 网站整体营销方案网站建设百度贴吧
  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好