`

J2EE应用性能瓶颈

阅读更多
一、J2EE应用常见性能瓶颈:

低效率的Servlet、JSP、EJB、Java类和方法
运行缓慢的SQL语句,低效率的EJB/DB交互
应用服务器配置和部署问题
RMI和对象串行问题
低效率的第三方组件
JVM 堆使用和配置问题
操作系统参数和配置
硬件模块限制
集群配置和负载平衡问题
二、性能管理方法论

J2EE应用性能的有效管理应该符合如下的思路,保证关键业务应用的最佳性能,实施有效的变化管理,优化变更管理流程。

1.前瞻性保障

首先,在应用开发阶段,通过有效手段和方法保证代码质量优化,最大程度地保证代码的性能和效率达到最优,并杜绝内存泄漏等潜在的危险代码。

其次,在应用部署上线阶段,通过压力测试、应用优化、配置调优等使应用运行在最佳状态。

在应用运行维护阶段,对生产系统运行状况和性能进行不间断的监控,及时发现对业务会产生影响的问题,并对历史状态进行分析,预测未来发展趋势,评估当前系统性能,确定是否存在潜在的问题,消除因为严重的性能问题对业务造成的不可弥补的影响,保证系统的可用性和高性能。

所有以上的各种措施和工作都是为了保障最终系统正常高效运行,将所有可能的问题避免和解决在问题发生之前,可以称之为“前瞻性保障”(ProActive)工作。

2.响应式管理

如果系统一旦出现异常,发生性能问题或由于业务增长出现性能瓶颈时,应对出现的情况,能迅速给予响应,则需要做到以下的要求:

首先出现问题后,能够快速识别问题的种类,定位问题的根源,深入诊断,并减少解决问题的时间,将影响和损失降到最低程度。

其次,对存在性能瓶颈的地方能提供有效的优化手段,能通过测试对系统给出性能评价视图,给出采取下一步措施的建议:一是通过优化提高对现有资源的利用,保护已有投资;二是当现有资源不能满足日益增长的业务的需要时,在充分优化的基础上进行适当扩展,消除性能瓶颈。

三、J2EE性能管理流程

为保障J2EE应用系统的高可用性和高性能,对系统开发、上线和运行等各个环节需要建立起包括问题发现、故障诊断、问题解决和日常维护等在内的完整的管理流程,并借助相关管理工具,实现管理职能。

问题发现

在开发阶段,需要测试和发现代码中的错误和性能问题;在上线前性能测试中,需要发现和评估组成业务的各关键组件的执行快慢问题,是否满足设计和业务需求,及时对有问题的组件进行修改或调整;

在运维时期,系统管理员需要借助相关的工具,发现和预测系统运行环境中主机、数据库、应用服务器和J2EE应用中可能出现的问题。管理内容包括主机及中间件、J2EE应用、相关的数据库实例管理等,具体操作包括对系统和数据库、应用服务器状态信息收集,以及相关性分析和门限值比较,并在此基础上判断系统目前的状况。

故障诊断

一旦发现问题或潜在的故障因素,管理人员需要借助相关工具进行深入的分析,确定产生这些问题的根本原因,能在所有系统组件和代码中进行深入诊断,分析哪一个服务或组件慢,分析过程中需要深入考查JAVA代码、SQL语句等诸多因素,通过管理工具提供的专业化智能化诊断方法快速判断问题。

问题解决

系统维护和管理员需要借助相应的管理工具解决问题,如SQL优化、Java代码优化等等。管理工具中内置的专家建议可以大大降低对管理人员的技能要求,提高工作效率。

综合以上内容,对J2EE应用性能进行有效管理应该贯穿在开发、测试、优化、上线、监控、诊断、修改调优、再监控等各个环节,并形成闭环结构的完整方法论,彻底解决J2EE应用的性能问题。

四、Quest解决方案:http://www.quest.com/application%5Fassurance、http://www.quest.com/performance_management/Quest针对这些情况相应地给出完整的J2EE应用性能优化管理解决方案,以便及时发现系统中存在的问题以及潜在的问题,并对J2EE应用(包括数据库)进行优化管理。基于Quest的产品建立发现问题,诊断问题、解决问题的管理方法。同时结合Quest Software的顾问服务,对J2EE系统进行全方位的优化,保证系统的高性能、高可用性。

Quest提供如下的相关工具:

JProbe:调优和测试工具,可对Java代码做内存泄漏(Memory Leaks)、数据竞争(Data Race)、性能瓶颈等的分析。
PerformaSure:Java应用性能监控和诊断工具,可基于用例对J2EE分布式系统进行全面的分析,包括J2EE应用服务器、Web服务器、数据库服务器、网络负载。

Foglight:实现应用系统管理,对构成应用系统的各个技术层次进行监控和分析。监控的内容包括网络设备、操作系统、数据库、J2EE中间件、Web服务器、客户端性能、应用业务等,为企业用户提供了一个完整的统一的性能管理平台。

优势主要从六个方面去看:

完整的应用性能和可用性管理解决方案:从开发、测试、验收、试运行和上线闭环的完整方案;

生产环境下7*24内存泄漏检测功能:Foglight在生产环境下可以发现各个URL的内存泄漏对象;

强大的数据库管理和SQL优化功能:与Quest数据库管理的产品集成很好,Quest在数据库管理方面的专业就不用我多说了;

独一无二的中间件实时监控和建议功能:Spotlight for WLS/WAS实时监控非常直观,而且提供专家级建议;

业界领先的企业级应用性能瓶颈诊断功能:PerformaSure用来诊断组件级瓶颈、方法级瓶颈、Portal瓶颈和SQL瓶颈非常简单、专业;

卓而不群的自动化内存泄漏规避和诊断功能:JProbe是业界公认的自动内存泄漏分析工具领头羊;

灵活自动的深度性能瓶颈分析功能:JProbe的性能瓶颈分析和线程死锁分析精确到代码行级。

分享到:
评论

相关推荐

    J2EE应用服务器性能优化方案

    常见性能问题 影响J2EE系统性能的可能因素 JVM 介绍 线程介绍 应用服务器性能调优简介 金蝶Apusic性能调优 Http服务性能调优 数据库连接池性能调优 线程池性能调优 工具使用说明 ...定位系统性能瓶颈

    多处理器平台上J2EE应用的内存争用

    在JVM堆中对线程处理所需要的内存和并发处理已经成为这些J2EE应用在部署时的性能和可扩展性的瓶颈。这篇文章探讨了J2EE应用在多处理器平台上访问JVM堆中的内存的线程同步问题J2EE应用的内存需求当前布署在企业级环境...

    weblogic平台J2EE调优策略

    weblogic 调优策略,前 言 第一章 应用程序调优 ...5.1 性能瓶颈 5.2 操作系统监控 5.3 数据库监控 5.4 WebLogic监控 5.4.1 JVM监控 5.4.2 Console监控 5.4.3 实用工具分析 5.5 应用程序分析 总结 参考文献 关于作者

    Jprobe简明使用手册

    2、分析远程机器上运行的J2EE应用和J2SE应用; 3、通过使用过滤器聚焦你的代码; 4、监控被收集的数据(Jprobe Coverage除外); 5、保存数据到快照文件; 6、以高级图形用户界面回顾快照文件; 7、在源代码中标识...

    jprofiler_windows 7.1.2

    JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。 它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。 JProfiler直觉式的...

    JProfiler 是一个全功能的Java剖析工具(profiler)

    JProfiler 是一个全功能的Java剖析工具(profiler),专用於分析J2SE和J2EE应用程式。它把CPU、线程和记忆体的剖析组合在一个强大的应用中。 JProfiler可提供许多IDE整合和应用服务器整合功能。JProfiler直觉式的GUI...

    通过JSP的预编译消除性能瓶颈

    欢迎来到“管理角”这个... JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个最普通的问题――在服务器运行时间中的JSP (JavaServer Page)编译的系统开销问题,这个问题困扰着几乎所有的J2E

    WAS和DB2性能问题的发现和处理.pdf

    本文简单的阐述了在目前典型的 J2EE 应用系统中,如何去判断性能问题或瓶颈。随着 目前开发人员越来越注重程序的良好的结构化和框架化,在java 程序中可能会重现的问题 越来越少,反而性能问题的焦点往往集中在了...

    Jprofiler使用介绍

    profiler是一个全功能的 Java 剖析工具( profiler ),专用于分析 J2SE 和 J2EE 应用程序。它把 CPU 、执行绪和内存的剖析组合在一个强大的 应用中。 JProfiler 可提供许多 IDE 整合和应用服务器整合用途。 ...

    用户体验性能测试及问题定位案例

    该系统以用户体验性能测试及问题定位为目的,该系统为B/S结构、J2EE架构,应用服务器为Tomcat6.5,数据库为Oracle10g。该系统的使用对象为公司的内部人员,网络环境为100兆局域网。...  用户体验性能瓶颈定

    JProfiler使用实例

    JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。它把CPU、执行序列和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI...

    EJ Technologies JProfiler 11.0 x64.rar破解版

    它能够通过实时监控系统的内存使用情况、监视垃圾回收、线程运行状况等手段从而监视JVM运行情况及其性能,专用于分析J2SE和J2EE应用程序。它把对CPU,执行线程和内存的剖析组合在一个强大的应用中。JProfiler的GUI...

    支持多数据库的ORM框架ef-orm.zip

    该框架对应用环境、连接池、 是否为J2EE应用等没有特殊要求。可以和EJB集成,也可与Spring集成,也可以单独使用。整个框架只有两个JAR包,模块和功能都较为轻量。依赖少 整个框架只有三个jar库。间接依赖仅有...

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成

    连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 在线接口文档:使用swager生成在线文档。 ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。 工作流:...

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成.zip

    连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 在线接口文档:使用swager生成在线文档。 ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。 工作流:...

    asp.net知识库

    忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...

    JeeSpringCloud后台权限管理系统-其他

    连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。在线接口文档:使用swager生成在线文档。ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。工作流:功能...

Global site tag (gtag.js) - Google Analytics