企业级Java应用最重要的4个性能指标讲课稿.doc

企业级Java应用最重要的4个性能指标讲课稿.doc

ID:57086388

大小:477.00 KB

页数:6页

时间:2020-08-01

企业级Java应用最重要的4个性能指标讲课稿.doc_第1页
企业级Java应用最重要的4个性能指标讲课稿.doc_第2页
企业级Java应用最重要的4个性能指标讲课稿.doc_第3页
企业级Java应用最重要的4个性能指标讲课稿.doc_第4页
企业级Java应用最重要的4个性能指标讲课稿.doc_第5页
资源描述:

《企业级Java应用最重要的4个性能指标讲课稿.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、企业级Java应用最重要的4个性能指标精品文档企业级Java应用最重要的4个性能指标应用性能管理(APM)是一种即时监控以实现对应用程序性能管理和故障管理的系统化解决方案。目前主要指对企业的关键业务应用进行监测、优化,最终达到提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT成本的目标。虽然很多人都曾预言Java将一蹶不振,但是不可否认的是,很多重要项目中,尤其是银行和政府一些大型项目,Java仍在其中扮演着极其重要的角色。国内APM领军企业OneAPM的Java工程师陶炳哲,多次参与银行、运营商等大型企业的性能优化工作,总结了

2、企业级Java应用最应重视的4个性能指标,主要包括:商业事务,外部服务,垃圾回收以及应用布局。下文将逐一展开阐述:1.商业事务商业事务是真实用户体验的直观反映:它们抓取了用户与应用交互时,用户体验到的实时性能数据。测量商业事务的性能,需要抓取一件商业事务整体的响应时间及其各个组件的响应时间。这些响应时间再与满足业务需求的基准进行比较,从而决定应用是否正常。如果你只打算测量应用的一个方面,本文会推荐你测量商业事务的表现。尽管容量指标(containermetrics)能帮助你决定何时调节集群规模,但是商业事务才决定了应用本身的性能。你无需询

3、问应用服务器线程池(threadpool)的使用情况,而是关心用户能否迅速完成他们的商业事务,以及这些事务的表现是否正常。介绍一点背景知识:商业事务通过其入口进行辨别,即用户与你的业务进行互动的入口。这类互动包括:一个网页请求,一个网页服务调用,或消息队列中的一条消息。当然,你也可以基于一个URL参数为同样的网页请求定义多个入口,或基于一个服务调用的内容定义多个入口点。关键在于:商业交易必须与对你的业务流程相关联,比如说中国移动的空中缴费业务对应到系统中是多个原子服务,我们就应该将这几个原子服务通过相应的关联聚合成一个空中缴费业务来进行监

4、控。收集于网络,如有侵权请联系管理员删除精品文档辨别某个商业交易后,它的性能就会在整个应用生态系统中进行测量。每个商业交易的性能会与其基准进行比较,判定其是否正常。譬如,如果某个商业事务的响应时间大于您设定的阈值,我们便判定其运行异常。 总而言之,商业事务最能反映用户体验,因此它们也是最重要的抓取维度。2.外部服务外部服务的形式多种多样:从属的网页服务、遗留系统或数据库等。外部服务是与应用交互的系统。运行在外部服务系统中的代码常常无法控制,但是我们可以控制这些系统的配置,因此了解他们是否运行正常以及何时出错也很重要。并且,我们必须有能力区

5、分问题是出自自身应用,还是源于这些外部服务系统。从商业事务的角度来说,我们可以辨别并测量这些处于自身应用的外部服务。有时,我们需要配置监控方法从而辨别那些包裹了外部服务调用的方法。但是对于常见的协议,诸如HTTP和JDBC,外部服务可以自动检测。商业事务让你对应用的性能有了全局的掌控,帮助你对性能问题进行分类。但是外部服务总能以意想不到的方式极大地影响应用的运行,所以你必须监控它们。3.垃圾回收从Java发布最早版本开始,一直都保留的核心特性就是垃圾回收,它真是让人又爱又恨。垃圾回收使我们不再需要手动管理内存:当使用完一个对象后,我们只需

6、删除它的引用,然后垃圾回收就会自动释放它。如果你使用过需要手动管理内存的语言,诸如C或C++,你会满怀感激。垃圾回收为程序员们减少了分配、释放内存空间的繁琐步骤。收集于网络,如有侵权请联系管理员删除精品文档此外,因为垃圾回收器会自动释放没有引用的内存空间,它减少了传统的内容泄露情况,即内存被分配后,该内存的引用在内存释放前就被删除了。听起来就像灵丹妙药,不是么?尽管垃圾回收达成了无需手动管理内存的目标,也防止了传统的内存泄露,但是作为代价,垃圾回收过程有时相当笨拙。根据不同的JVM,垃圾回收策略也会不同。深入探讨这些策略超出了本文的主旨。

7、但是,读者应该明白,了解垃圾回收期的工作原理,以及最佳的配置方案至关重要。垃圾回收最大的敌人就是传说中的主要(major)或(full)垃圾回收。除了AzulJVM,所有的JVM都有这个问题。通常,垃圾回收大致分为两类:次级主要为了释放存活时间较短的对象,次级垃圾回收发生得相对频繁。他们在运行时不会封锁线程,产生的影响较小。然而,主要垃圾回收,有时也称为“暂停世界(StopTheWorld,STW)”垃圾回收,因为他们在运行时会封锁JVM中的所有线程。当垃圾回收运行时,它会运行一项可达性测试(reachabilitytest),如图四所示

8、。它会创建一个由对象组成的根集合(rootset),该集合包含每个运行线程中的直接可见对象。接着,它会探寻根集合中的对象涉及的其他对象,然后探寻这些对象涉及的对象,直到所有对象都被涉及。在这个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。