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的性能瓶颈分析和线程死锁分析精确到代码行级。

本文转自
http://brighter.javaeye.com/blog/224999
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值