`
k1121
  • 浏览: 181055 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

性能优化之java EE内存管理解决方案

 
阅读更多
1.     了解现有系统基本情况

1.1.            查看系统现有硬件资源情况

通过在AIX系统内执行相关命令(prtconf),了解现有AIX硬件系统各个方面信息。

在redhat系统内执行相关命令{ dmesg },交接Radhat硬件系统各方面信息。

1.2.            查看数据库版本、参数等情况

通过在Oracle的SQL环境中执行相关命令(SHOWPARAMETER)、查看部分数据库视图,获取数据库相关配置、等信息。

1.3.            通过AWR获取近期数据库运行情况统计信息

在数据库端,通过相关脚本(awrrpt.sql),提取部分AWR 统计报告。

1.4.            获取现有系统运行高峰、压力等信息

通过数据库和应用使用CPU和内存等方面信息,确定目前系统压力高峰时点。

或许一到两周持续时间高峰时段数据库和应用系统CPU和内存压力,存储I/O 繁忙程度。







常用脚本:

    内存监控脚本:free -k -s2 -c1800 > log/free_`hostname`_`date +%Y%m%d%H%M%S`.log

    CPU监控脚本:sar -u 2 1800 > log/sar_`hostname`_`date +%Y%m%d%H%M%S`.log

注:如果Sar命令需要安装sysstat 包。




1.5.            初步确定优化目标

通过分析、核对,从数据库、weblgoic中间件、jvm参数调整、核心业务系统关键代码优化等方面将整体压力尽快减小。

2.     确定实施具体优化步骤

2.1.            数据库层修改

通过TOPSQL查看查看是否存在不良SQL需要优化。

针对数据量超大的表与DBA和信息部一起讨论针对数据情况、业务特点商讨分区表(或历史数据迁移出去等方式)实施的必要性、可行性等方面问题。

2.2.            Weblgoic中间件层修改

检查weblgoic发布补丁集,查看是否有针对现有内存问题的补丁;

通过监控weblgoic的线程池和Jdbc连接池,确定weblogic域瓶颈。

2.3.            JVM层修改

在weblgoic启动参数中增加生成dump文件配置;

对内存持续增长服务器手动连续生成dump文件分析堆栈信息;

调整jvm参数如:堆内存设置、64位jdk指针压缩设置、启动JIT设置等。

2.4.            核心业务系统层修改

通过jprofiler、jrmc、jvisualvm、Jconsole监控系统瓶颈点,优化瓶颈点代码;

通过jprofiler、jrmc监控大量占用内存对象,清理未释放资源代码。

3.     监测优化结果

对部分可立即查看效果的先放置到测试环境进行监测,确定是否有必要恢复。

持续监测一段时间如果未发现内存持续增长和宕机情况出现则可认为内存问题解决。

4.     应用系统维护、优化建议概述

4.1.            定期监控

定期监控数据库和核心业务系统压力情况,并综合分析是否是在合理范围值内。

4.2.            新功能、新需求评估

日后的新功能、新需求,要结合现有数据库结构、业务特点,仔细考核。如客户提出容易对系统造成巨大压力和风险的需求,需详细评估风险、必要性、可行性。

4.3.            大数据表处理

目前数据库中存在个别千万记录级别表。从长期数据量成长角度考虑,可以考虑分区表或历史数据迁出实施的必要性、可行性等方面问题。
分享到:
评论

相关推荐

    java_ee_sdk-8

    - **性能提升**:对服务器性能进行了优化,包括更快的应用部署和更高效的内存管理。 - **模块化**:GlassFish 5遵循Java模块系统(Jigsaw项目),使得服务器更加轻量级,可以根据需要选择加载特定模块。 - **增强...

    Pro Java EE 5 Performance Management and Optimization

    《Pro Java EE 5 Performance Management and Optimization》是针对Java企业版5(JEE5)的一本专业性能管理和...这本书对于Java EE开发人员、系统管理员以及对性能优化感兴趣的IT专业人士来说,是一份宝贵的参考资料。

    Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现.rar

    总之,SSM框架的整合和Redis的引入,为Java EE互联网应用提供了高效、灵活的解决方案。Spring MVC负责Web层的交互,Spring负责业务层的管理和事务控制,MyBatis则简化了数据库操作,而Redis作为缓存系统,提升了系统...

    java ee开发详解

    综上所述,《Java EE开发详解:端到端提升企业级Java能力》不仅是一本理论指南,更是实践手册,涵盖了从设计、开发、调试到测试和性能优化的各个环节,为希望在企业级Java开发领域深造的专业人士提供了宝贵的学习...

    WebLogic应用优化解决方案

    WebLogic应用优化解决方案是针对Oracle WebLogic Server这一企业级Java EE应用服务器的性能提升策略。WebLogic Server作为业界广泛使用的中间件平台,其性能优化对于整个企业应用的效率和稳定性至关重要。以下是一些...

    java ee 面试题总结

    ### Java EE面试题总结 ...Hibernate主要用于简化数据访问层的开发,提供了一套完整的ORM解决方案;而Struts则是一个用于构建Web应用程序的MVC框架,能够帮助开发者更好地组织代码结构,提高开发效率。

    Java EE 轻量级解决方案 — SSH 青岛东合信息技术有限公司 青岛海尔软件公司 著 教材源码 _ 第六章 Hibernate核心技能

    在Java企业级应用开发中,SSH(Struts、Spring、Hibernate)框架组合是常见的轻量级解决方案,尤其适合中小型企业项目。本章我们将深入探讨SSH框架中的Hibernate核心技能,它是Java EE开发中处理持久化层的重要工具...

    java Android 算法 解决方案 分享.zip

    健壮性与高性能:Java通过垃圾回收机制确保内存的有效管理,同时也能通过JIT编译器优化来提升运行时性能。 标准库丰富:Java拥有庞大的类库,如Java SE(Java Standard Edition)包含基础API,用于开发通用应用...

    Java中各类Cache机制实现解决方案

    **ShiftOne Java Object Cache** 是一种细粒度的对象缓存解决方案,主要针对Java应用程序中的对象管理问题。它作为Java标准库的一部分存在,主要用于解决非持久化对象的状态管理问题。ShiftOne的主要特点是: - **...

    JAVA技术摘要(内容荟萃的解决方案)

    7. **JVM与内存管理**:Java虚拟机(JVM)是Java程序的运行环境,了解它的内存模型(堆、栈、方法区等)、垃圾收集机制和性能优化策略,有助于编写高效、无内存泄漏的代码。 8. **反射与注解**:反射机制允许在运行...

    基于Apache Tomcat的一站式Java应用服务器解决方案.zip

    这个压缩包文件"基于Apache Tomcat的一站式Java应用服务器解决方案.zip"很可能包含了关于如何利用Tomcat搭建和管理Java应用程序的详细指南。 Apache Tomcat的核心功能包括: 1. **Servlet容器**:Tomcat的主要职责...

    Java教学管理系统课程设计报告+源码MyEclipse工程+数据库脚本

    5. 性能优化:可能涉及数据库查询优化、内存管理、并发控制等方面。 在"Java课程设计终极版.doc"文档中,应该包含了整个项目从需求分析到系统实现的详细过程,包括对各个功能模块的描述、代码实现的关键点、遇到的...

    javaee性能调优方案

    在现代企业的信息化建设中,Java EE(Java Platform, Enterprise Edition)平台因其丰富的特性和强大的功能成为构建企业级应用的首选平台之一。随着互联网技术的发展,用户对系统性能的要求越来越高,尤其是在高并发...

    优化Java堆大小的5个技巧.doc

    在优化Java堆大小之前,我们首先需要深入理解JVM内存管理的基础知识。对于初学者而言,Java堆调优和故障排除是一项极具挑战性的任务。不正确的调优方法不仅无法解决问题,反而可能导致更多的问题。因此,本文首先...

    常规Java工具,算法,加密,数据库,面试题,源代码分析,解决方案.zip

    健壮性与高性能:Java通过垃圾回收机制确保内存的有效管理,同时也能通过JIT编译器优化来提升运行时性能。 标准库丰富:Java拥有庞大的类库,如Java SE(Java Standard Edition)包含基础API,用于开发通用应用...

    实战Java高并发程序设计模式高清视频教程.zip

    总之,通过这套视频教程,你将掌握Java高并发编程的核心技术和设计模式,包括线程管理、并发控制、内存模型、性能优化以及Java EE在高并发环境下的应用。这将使你具备开发高效、稳定的企业级后端应用的能力。无论你...

    MRCMS 是一款Java开发的内容管理系统.zip

    Java提供了各种性能优化手段,如内存管理、线程池、缓存策略等。MRCMS可能通过这些手段提高系统响应速度,减少资源消耗,确保在高并发场景下的稳定运行。 综上所述,MRCMS作为一款基于Java开发的内容管理系统,利用...

Global site tag (gtag.js) - Google Analytics