Java 程序性能优化 --读书笔记 1
2014-07-18 12:19
459 查看
第一章, Java性能调优概述
对Web服务器而言,服务器的响应时间和吞吐量是两个重要的性能参数。
一般来说,程序性能通过以下几个方面来表现:
执行速度:程序的反应是否迅速,响应时间是否足够短。
内存分配:内存分配是否合理,是否过多的消耗内存或者存在泄露。
启动时间:程序到启动到可以正常处理业务需要花费多久时间。
负载承受能力:当系统压力上升时,系统的执行速度,响应时间的上升曲线是否平缓。
性能的参考指标:
执行时间:一段代码从开始运行到运行结束,所使用的时间
CPU时间:函数或线程占用CPU的时间。
内存分配:程序在运行时占用的内存空间。
磁盘吞吐量:描述IO的使用情况
网络吞吐量:描述网络的使用情况。
响应时间:系统对某用户行为或事件作出响应的时间。
系统瓶颈的分析:
磁盘IO:读写速度比内存慢,
网络操作:依赖于网络环境,可能比磁盘IO更慢
CPU:
异常:对异常的处理会很占用系统资源,如果频繁的处理异常,会拖累系统性能。
数据库:
锁竞争,
内存
性能调优的层次:
设计调优:从宏观层面的“质”的优化,可以规避某一个组件的性能问题,而非改良该组件的实现。
代码调优:微观层面的代码优化。
JVM调优:调整JVM的参数,
数据库调优:
操作系统调优:
性能调优,一般的做法,从白盒的角度,首先需要做好系统的调研工作,了解系统架构,模块之间的协作和接口,通过对接口之间的监测,可以定位出现性能问题的具体模块,逐渐缩小scope,最终定位问题。
从黑盒的角度分析,可以通过一系列的工具,系统工具,或者Java性能监测工具,从宏观的层度来观测系统的性能问题。通过这些工具,一般能获取系统存在哪方面的性能问题,能为问题的最终定位提供指示性的方向。
对Web服务器而言,服务器的响应时间和吞吐量是两个重要的性能参数。
一般来说,程序性能通过以下几个方面来表现:
执行速度:程序的反应是否迅速,响应时间是否足够短。
内存分配:内存分配是否合理,是否过多的消耗内存或者存在泄露。
启动时间:程序到启动到可以正常处理业务需要花费多久时间。
负载承受能力:当系统压力上升时,系统的执行速度,响应时间的上升曲线是否平缓。
性能的参考指标:
执行时间:一段代码从开始运行到运行结束,所使用的时间
CPU时间:函数或线程占用CPU的时间。
内存分配:程序在运行时占用的内存空间。
磁盘吞吐量:描述IO的使用情况
网络吞吐量:描述网络的使用情况。
响应时间:系统对某用户行为或事件作出响应的时间。
系统瓶颈的分析:
磁盘IO:读写速度比内存慢,
网络操作:依赖于网络环境,可能比磁盘IO更慢
CPU:
异常:对异常的处理会很占用系统资源,如果频繁的处理异常,会拖累系统性能。
数据库:
锁竞争,
内存
性能调优的层次:
设计调优:从宏观层面的“质”的优化,可以规避某一个组件的性能问题,而非改良该组件的实现。
代码调优:微观层面的代码优化。
JVM调优:调整JVM的参数,
数据库调优:
操作系统调优:
性能调优,一般的做法,从白盒的角度,首先需要做好系统的调研工作,了解系统架构,模块之间的协作和接口,通过对接口之间的监测,可以定位出现性能问题的具体模块,逐渐缩小scope,最终定位问题。
从黑盒的角度分析,可以通过一系列的工具,系统工具,或者Java性能监测工具,从宏观的层度来观测系统的性能问题。通过这些工具,一般能获取系统存在哪方面的性能问题,能为问题的最终定位提供指示性的方向。
相关文章推荐
- 【Java程序性能优化】-读书笔记第3章
- Java程序性能优化 读书笔记(三)设计模式:代理模式
- Java程序性能优化 读书笔记(十三)并行设计模式:不变模式
- 读书笔记_Java程序性能优化_Chap1.概述
- Java程序性能优化 读书笔记(十一)并行设计模式:Master-Worker模式
- Java程序性能优化读书笔记(一):Java性能调优概述
- Java程序性能优化 读书笔记(十五)String类的优化
- 《Java程序性能优化读书笔记-第5章 JVM优化》
- Java程序性能优化 读书笔记(五)设计模式:装饰者模式
- Java程序性能优化 读书笔记(十四)并行设计模式:生产者-消费者模式
- 读书笔记之Java程序性能优化
- Java程序性能优化 读书笔记(十二)并行设计模式:Guarded Suspension模式
- Java程序性能优化 读书笔记(二)设计模式:单例模式
- Java程序性能优化 读书笔记(一)Java性能调优概述
- Java程序性能优化 读书笔记(十)并行设计模式:Future模式
- Java程序性能优化 读书笔记(四)设计模式:享元模式
- Java程序性能优化 读书笔记(十六)集合访问优化
- Java程序性能优化 读书笔记(八)优化组件:缓冲和缓存
- Java程序性能优化 读书笔记(九)优化组件:池
- Java程序性能优化 读书笔记(七)设计模式:ValueObject模式