对于前端的性能优化涉及到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
分享到:
相关推荐
性能优化手册是一套java性能学习研究小技巧,包含内容:Java性能优化、JVM性能优化、服务器性能优化、数据库性能优化、前端性能优化等。 内容包括但不限于: String 性能优化的 3 个小技巧 HashMap 7 种遍历方式...
而Web前端性能优化,作为提升用户体验的重要手段之一,对于WEB前端工程师来说,掌握这项技能是必不可少的。本文将结合实际经验,分享一些在前端开发中应用广泛的性能优化技巧。 首先,减少HTTP请求是性能优化的基础...
移动H5前端性能优化指南,某TX工程师经验总结,纯干货。
其中,Dynatrace AJAX Edition是一款强大的性能分析工具,专门用于帮助开发者诊断和解决前端性能问题。 1. **页面加载优化**:前端界面的加载速度直接影响用户的第一印象。优化包括减少HTTP请求次数(合并CSS和...
总结,J2EE应用性能调优是一个综合性的工程,涉及到硬件、网络、操作系统、J2EE容器、后台服务、前端以及JVM等多个层面的优化。每个层面的优化都有其独特的方法和策略,需要结合实际情况灵活运用,以实现整体性能的...
"SQL性能调优" SQL性能调优是指数据库系统中对SQL语句的优化,以提高数据库系统的响应速度和查询效率。 Oracle的内部优化器工作机制可以合理改进查询语句的组织方式,提高数据库系统的响应速度,实现前端画面及平台...
在IT领域,尤其是在企业级应用服务器的管理与优化中,WebLogic Server的性能调优是一项至关重要的技能。根据给定的文件信息,我们将深入探讨如何针对WebLogic 10.3进行性能优化,涵盖JVM调整、核心参数调整以及Java ...
《前端布局丛书-CSS重构:样式表性能调优》是一本深入探讨CSS优化与重构的专业书籍,旨在帮助开发者创建高效、响应式且易于维护的网页布局。在前端开发中,CSS是实现页面视觉呈现和用户体验的关键,而有效的CSS重构...
在掌握了基础知识后,前端性能调优是提升用户体验的关键。这包括资源加载优化(如延迟加载、预加载、缓存策略)、代码优化(如减少DOM操作、避免阻塞主线程)、页面渲染优化(如首屏加载、避免重排和重绘)等。通过...
"CSS重构:样式表性能调优"这一主题,对于前端开发者,尤其是初学者来说,是一份极有价值的学习资料。 首先,我们要理解重构的必要性。随着网站和应用程序变得越来越复杂,CSS代码往往容易变得混乱和冗余。这不仅...
在IT行业中,性能调优是确保系统高效运行的关键环节,特别是在高并发、大规模访问的场景下。本篇文章主要聚焦于IHS(IBM HTTP Server)的性能优化,它是一款广泛应用于前端集群分发的Web服务器软件。在进行...
- **性能调优概述**:介绍性能调优的基本概念和重要性。 - **性能指标与典型场景**:讲解各种性能指标的含义及其在不同业务场景下的应用。 - **存储配置对性能的影响**:探讨不同的存储配置对系统性能的影响。 - **...
**yslow前端性能测试工具详解** yslow是Yahoo!开发的一款强大的前端性能分析工具,它通过对网页进行评估,提供优化建议,帮助开发者提高网站的加载速度和用户体验。yslow的核心理念是遵循YSlow规则,这是一套基于...
Web数据库性能调优_英文_
综上所述,“Web 2.0网站性能调优实践”不仅涉及到前端和后端的技术细节,还涵盖了架构设计、监控测试等多个方面。这是一个系统工程,需要跨领域的知识和技术协同工作,才能有效提升Web 2.0网站的性能,为用户提供...
JAVA-WEB系统性能调优.doc
前端性能调优是面试中另一大考点。开发者需要从多个维度去优化前端性能,包括但不限于减少HTTP请求次数、使用CDN、合理利用缓存策略、优化脚本加载、减少DOM操作、使用事件委托、压缩资源、代码拆分和懒加载等。这些...
### JQuery Easy-UI DataGrid性能调优 #### 概述 在使用JQuery Easy-UI DataGrid组件的过程中,用户可能会遇到一系列与性能相关的问题。这些问题不仅会影响用户体验,还可能导致应用程序响应速度下降。本文旨在...