长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

达内长沙java培训分享:Java性能调优(一)

  • 时间:2016-10-18
  • 发布:长沙Java培训
  • 来源:51CTO

在APMCon 2016中国应用性能管理大会上,Java性能调优专家Monica Beckwith进行了《Java性能调优必读守则》(原题目:Java Performance Engineer's Survival Guide)的演讲。演讲中,Monica给出关于Java调优最佳实践的个人建议:怎样设定需要调优的性能要求、需要对哪些指标进行分析、目标设定后又怎样具体地开展调优。

达内长沙java培训注:Monica Beckwith专注于企业级应用中Java虚拟机和垃圾收集器的优化,发表过多篇垃圾收集器和Java内存模型方面的文章。她之前就职于Oracle,带领G1垃圾收集器性能团队,目前是一位独立咨询师。)

性能调优前的准备工作:

Monica认为性能优化工程由两部分组成:性能需求分析及规划、性能结果分析。两者构成闭环,使得性能得到不断的提升。

一、性能需求分析及规划

在决定性能需求的时候,工程师们首先要问自己三个问题:

哪些会让用户开心?

哪些会让用户懊恼?

目前存在的问题需要被关注并解决吗?

接下来,需要站在用户的角度去思考QoS;将QoS标准量化为可测量的指标,即SLA服务等级协议;然后对SLA性能指标进行定义、梳理并排列优先级(吞吐量、响应时间、容量、请求足迹、CPU使用率等)。

1、吞吐量/率:

目标—是否可以比设定的吞吐量低?如果可以,这种状态可以持续多久?最低可以低到多少?

测量—怎样测量?(事务数/秒、消息数/秒或者两种方式)哪里测量?(客户端、服务器端或者浏览器端)

2、响应时间:

目标—是否可以超出设定的响应时长?如果可以,这种状态可以持续多久?最长可以达到多久?

测试—怎样测量?(取99%响应的时间计算均值、只统计某一段响应时间(5-9秒)、最差的情况或者全部)哪里测量?(客户端、服务器端或者整个环路)

3、容量管理:

可以接受的容量是多少?如果某个系统过载怎么办(负载均衡出现问题)?怎样测量容量?一个系统和所有系统能承受的最大容量是多少?可以承受多久?需要监测哪些指标?

二、性能结果分析

关于性能结果分析,达内长沙java培训这里只讨论Java的性能分析。分析哪些因素会影响到终端用户体验,无法达到预期的QoS;跟踪监测性能指标。

应用层生态系统:应用服务、应用服务器、数据库、生态系统中其他服务

JRE层:类加载情况、JIT编译情况、垃圾回收情况、线程情况

操作系统层:系统/内核状态、锁状态、线程状态

硬件层:内存带宽/内存吞吐量/内存占用、CPU/内核的使用、CPU缓存效率/使用/级别、处理器结构、IO状态。

上一篇:Java学习为何易学难精?
下一篇:达内长沙java培训分享:Java性能调优(二)

达内长沙Java培训教你阅读GC日志

spring注入配置文件属性到java类

Java中Vector和ArrayList的区别

达内长沙Java培训详解volatile关键字

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货