`
he_wen
  • 浏览: 238736 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

前端性能调优

jvm 
阅读更多

对于前端的性能优化涉及到QPS三要素、优化模版、优化大数据处理、优化JVM参数设置

 

一、QPS三要素

1、多少个线程比较合适?

因为涉及到线程的数量,会导致FULL GC发生

2、响应时间

线程数量=线程执行总时间/瓶颈资源时间*瓶颈资源并行数 在计算对于同一类资源的消耗时间进行合并

QPS=1000/瓶颈资源时间*瓶颈资源并行数

 

什么是瓶颈资源?

前台系统的特点:动态页面渲染输出、页面非常大、数据来自多个远程服务(uc、sc、IC 等)、除了日志几乎没有对磁盘的读写 

影响系统QPS的瓶颈主要是CPU、内存GC hold

 

二、优化模版

优化大数据处理搜索结果解析char to byte,序列化方式选择thrift、protobuffer  注意尽量使的自己模版空格较少 空格要压缩

规模效益:取决于脚本(判断、循环、比较、赋值)占整个模版的比例

减少模版的大小:

1、压缩模版的空白字符

2、重复数据合并  代码里面涉及到循环,并且里面有静态内容输出均可以采用此方法

3、异步渲染数据,不要进行假异步渲染  将页面中静态并且相对不重要的内容抽取出来,利用专门服务器优势CDN化 和cache化

10%-100%的内容的节省 QPS的提升10%-80%

 

三、JVM参数的调整

 

某系统操作系统32位升级到64位,注意的就是原始jvm参数的配置需要将OLD和yong区大小调整一倍,因为root set集合中的指针也扩展字节数,所以指针也占用了一定量的内存

yong区大小至少要大于每次请求内存消耗的100倍,OLD区被挤占的问题

将yong区变大

单次minorgc是否会变长的问题?

因为前台的系统返回的数据一般对象生命周期很短,minor gc会把无用的对象回收掉不会产生赋值的代价,增长的时间只会扫描上产生对象存活时有一点时间的限制,所以对于前台的应用系统适当增加yong区大小是不会产生时间变长。前台系统的数据只有缓存的数据才会存放在OLD区域。

下面是内存区域:

垃圾回收的基本步骤:



 数据进入年老代的三个途径:

1、直接进入OLD区域,超过指定size的数据比较少见,一般一下子申请大片缓冲区

2、minorGC触发时。交换分区S0或者S1放不下

     缓存数据,因为线程执行周期缓慢(线程数量比较多已经由于某些资源线程被阻塞)导致未释放的对象量太多

3、足够老的数据在交换区拷贝次数超过了上限(XX:MaxTenuringThreshold=15)一般情况会这样但有特例

     缓存数据、因为线程执行周期缓慢导致未释放的对象

 

四、平均单次请求内存消耗计算方法

每个请求占用的内存=Eden/(QPS*minorGC的平均间隔时间(秒)),还有一种简单的计算就是JDK1.6.25版本支持一个API函数

  • 大小: 128.4 KB
0
0
分享到:
评论

相关推荐

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    性能优化手册是一套java性能学习研究小技巧,包含内容:Java性能优化、JVM性能优化、服务器性能优化、数据库性能优化、前端性能优化等。 内容包括但不限于: String 性能优化的 3 个小技巧 HashMap 7 种遍历方式...

    WEB前端工程师Web前端性能优化经验分享

    Web前端性能优化是提升网页加载速度和用户体验的关键环节。这篇经验分享主要涵盖了四个核心知识点,旨在帮助前端开发者理解和实践性能优化技巧。 1. 减少HTTP请求 HTTP请求是浏览器与服务器交互的基础,但每一次...

    移动H5前端性能优化指南

    移动H5前端性能优化指南,某TX工程师经验总结,纯干货。

    前端界面性能调优,有基础文档和提高文档。

    其中,Dynatrace AJAX Edition是一款强大的性能分析工具,专门用于帮助开发者诊断和解决前端性能问题。 1. **页面加载优化**:前端界面的加载速度直接影响用户的第一印象。优化包括减少HTTP请求次数(合并CSS和...

    J2EE应用性能调优.docx

    总结,J2EE应用性能调优是一个综合性的工程,涉及到硬件、网络、操作系统、J2EE容器、后台服务、前端以及JVM等多个层面的优化。每个层面的优化都有其独特的方法和策略,需要结合实际情况灵活运用,以实现整体性能的...

    SQL性能调优

    "SQL性能调优" SQL性能调优是指数据库系统中对SQL语句的优化,以提高数据库系统的响应速度和查询效率。 Oracle的内部优化器工作机制可以合理改进查询语句的组织方式,提高数据库系统的响应速度,实现前端画面及平台...

    前端大厂最新面试题-开放性问题(带答案).docx

    在这个问题中,提供了24条前端性能调优方案,涵盖了从代码优化到浏览器渲染的各个方面。 在这里,我们可以看到,这个面试题涵盖了前端开发中的一些常见问题,包括数组去重、排序算法、链表操作、性能调优等方面。...

    weblogic10.3性能调优

    在IT领域,尤其是在企业级应用服务器的管理与优化中,WebLogic Server的性能调优是一项至关重要的技能。根据给定的文件信息,我们将深入探讨如何针对WebLogic 10.3进行性能优化,涵盖JVM调整、核心参数调整以及Java ...

    前端布局丛书-CSS重构:样式表性能调优

    《前端布局丛书-CSS重构:样式表性能调优》是一本深入探讨CSS优化与重构的专业书籍,旨在帮助开发者创建高效、响应式且易于维护的网页布局。在前端开发中,CSS是实现页面视觉呈现和用户体验的关键,而有效的CSS重构...

    85程序员练级攻略(2018):前端基础和底层基础1

    在掌握了基础知识后,前端性能调优是提升用户体验的关键。这包括资源加载优化(如延迟加载、预加载、缓存策略)、代码优化(如减少DOM操作、避免阻塞主线程)、页面渲染优化(如首屏加载、避免重排和重绘)等。通过...

    CSS重构:样式表性能调优_前端学习_

    "CSS重构:样式表性能调优"这一主题,对于前端开发者,尤其是初学者来说,是一份极有价值的学习资料。 首先,我们要理解重构的必要性。随着网站和应用程序变得越来越复杂,CSS代码往往容易变得混乱和冗余。这不仅...

    IHS性能调优参数设置经验总结

    在IT行业中,性能调优是确保系统高效运行的关键环节,特别是在高并发、大规模访问的场景下。本篇文章主要聚焦于IHS(IBM HTTP Server)的性能优化,它是一款广泛应用于前端集群分发的Web服务器软件。在进行...

    OceanStor_V3_融合存储_V300R003&V300R005;_性能调优培训_V1.0

    - **性能调优概述**:介绍性能调优的基本概念和重要性。 - **性能指标与典型场景**:讲解各种性能指标的含义及其在不同业务场景下的应用。 - **存储配置对性能的影响**:探讨不同的存储配置对系统性能的影响。 - **...

    yslow前端性能测试工具

    **yslow前端性能测试工具详解** yslow是Yahoo!开发的一款强大的前端性能分析工具,它通过对网页进行评估,提供优化建议,帮助开发者提高网站的加载速度和用户体验。yslow的核心理念是遵循YSlow规则,这是一套基于...

    Web数据库性能调优_英文_.doc

    Web数据库性能调优_英文_

    Web 2.0网站性能调优实践

    综上所述,“Web 2.0网站性能调优实践”不仅涉及到前端和后端的技术细节,还涵盖了架构设计、监控测试等多个方面。这是一个系统工程,需要跨领域的知识和技术协同工作,才能有效提升Web 2.0网站的性能,为用户提供...

    JAVA-WEB系统性能调优.doc编程资料

    JAVA-WEB系统性能调优.doc

    JQuery Easy-UI DataGrid性能调优

    ### JQuery Easy-UI DataGrid性能调优 #### 概述 在使用JQuery Easy-UI DataGrid组件的过程中,用户可能会遇到一系列与性能相关的问题。这些问题不仅会影响用户体验,还可能导致应用程序响应速度下降。本文旨在...

Global site tag (gtag.js) - Google Analytics