性能啊!性能!

之所以想写写性能调优,也是有感于我们的项目,我们採用一些手段使得系统性能上升了一个台阶,总是须要把这点经验沉淀一下。随着工作的深入,关于系统性能的事肯定还有非常多,也算是通过这个系列文章做做笔记。优化可能包含应用级别的优化,也可能包含代码级别的优化。

“要进行优化,先得找到性能瓶颈!”


忘记是从哪里看到了这句话,但总算切中要害。

但在找性能瓶颈之前,我们总要先对系统性能有一个概念。

怎样在不购买新硬件的条件下完毕很多其它的工作?何时才真正须要加入硬件(很多其它的内存,更快的磁盘、 CPU以及网络接口)?有时仅仅需消除一些简单的瓶颈就可以解决很多性能问题——可是要实现它,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。在预算短缺的今天,理解怎样优化系统性能比以往不论什么时候都重要。一味地投资并非可以让人们接受的办法——而且也不一定生效
                                                                                                                                       -------《系统性能优化》

再看两篇文章吧

http://www.kuqin.com/system-analysis/20120116/317410.html



看了上面的陈述,相信你已经有所感触,说得直白一点,系统性能就是在尽可能降低投资的情况下,解决以下两个事:

  1. Throughput ,吞吐量。也就是每秒钟能够处理的请求数,任务数。
  2. Response time, 响应时间。也就是系统在处理一个请求或一个任务时的响应时间。

我们要做优化,就是为了让吞吐量更大,让响应时间更短,在二者之间达到平衡,满足我们的业务要求。

所以,我们要发现性能瓶颈,事实上就是找到影响吞吐量和响应时间的地方。


怎么找?

使用工具!

这里提到了

十个免费的Web压力測试工具


工具还有非常多,上面10个,我没有亲自用过,只是,我倒是用过一个測试java web项目性能的工具:javamelody

JavaMelody可以在QA和实际运行生产环境监測Java或Java EE应用程序server。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、Guice)的运行数量,平均运行时间,错误百分比等。图表可以按天,周,月,年或自己定义时间段查看。


截张图给大家看看


这仅仅是一部分图标,它提供的信息要远比这丰富。

工具和方法论说多了无益,下篇文章给大家来点猛料。

发现瓶颈,怎么办?别急着去找程序的麻烦,先去操作系统,操作系统的报告。看看操作系统的CPU利用率,看看内存使用率,看看操作系统的IO,还有网络的IO,网络链接数,等等。通过了解操作系统的性能,我们才知道性能的问题,比方:带宽不够,内存不够,TCP缓冲区不够,等等,非常多时候,不须要调整程序的,仅仅须要调整一下硬件或操作系统的配置就能够了。说这些是为了提醒你,不要急着去改动你的代码。

假设到了非要动代码的地步,瓶颈这东西也能够依据2:8原则来说,20%的代码耗了你80%的性能,找到那20%的代码,你就能够优化那80%的性能。所以,紧紧锁定那不到20%的代码。

兴许文章,我会列举一些项目中性能调优的经验,供大家參考,也欢迎补充。





《java系统性能调优》--1.发现瓶颈的更多相关文章

  1. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  2. linux系统性能调优第一步——性能分析(vmstat)

    linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介 ...

  3. Java性能调优笔记

    Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...

  4. Java性能调优:利用JMC分析性能

    Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...

  5. 11个简单实用技巧--Java性能调优

    多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事 ...

  6. Java性能调优概述

    目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...

  7. Java性能调优的11个实用技巧

    译文出处: ITeye    原文出处:dzone 大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这 ...

  8. Perf Event :Linux下的系统性能调优工具

    Perf Event :Linux下的系统性能调优工具 2011-05-27 10:35 刘 明 IBMDW 字号:T | T Perf Event 是一款随 Linux 内核代码一同发布和维护的性能 ...

  9. Java 性能调优的 11 个实用技巧

    大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何 ...

随机推荐

  1. vuejs 相关资料

    官网 http://vuejs.org/ 中文网站 http://cn.vuejs.org/ Vue.js——60分钟快速入门 http://www.cnblogs.com/keepfool/p/56 ...

  2. ERROR 2003 (HY000): Can&#39;t connect to MySQL server on &#39;10.16.115.101&#39; (111)

    ubuntu安装之后mysql,使用apt-get安装命令,默认为同意只本地访问 root@idata1:~/software# mysql -uroot -p123456 -h10.16.115.1 ...

  3. WPF学习(5)依赖属性

    今天我们来学习WPF一个比较重要的概念:依赖属性.这里推荐大家看看周永恒大哥的文章,讲的确实很不错.我理解的没那么深入,只能发表一下自己的浅见.提到依赖属性,不得不说我们经常使用的传统的.net属性, ...

  4. C语言API编写窗口界面和button

            近期有个同学的程序须要用对话框的方式实现,但前面都是通过黑框形式完毕的,老师突然让添加一个界面,本来准备採用MFC完毕的,但后来一想,该程序核心东西是体如今它的算法上,控制台的程序并不 ...

  5. hdu3836联通的强还原性点

    Equivalent Sets Time Limit: 12000/4000 MS (Java/Others)    Memory Limit: 104857/104857 K (Java/Other ...

  6. SharePoint 2013 配置开发环境,需安装VS2012插件

    原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...

  7. Windows Phone APP中禁用截图

    原文:Windows Phone APP中禁用截图 Windows Phone 8 有系统自带的截图功能,快捷键:电源键+Win键,可以随意截图. Windows Phone 更新GDR2后新增了一个 ...

  8. 一个Bug的反思

    对输入数据判重,使用Map,将对象作为Key,使用map的containsKey方法来着重是否是重复记录.正常的处理流程:(1)将输入的数据封装成对象(2)判重,将没有重复的数据存储到map(3)对没 ...

  9. 编程算法 - 数丑陋 代码(C)

    数丑陋 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 我们把仅仅包括因子2, 3 和 5的数称作丑数. 求按从小到大的顺序的第5个丑数. 能够 ...

  10. UOJ #5. 【NOI2014】动物园 扩大KMP

    第一次NOI称号. ... 扩展假设知道KMP如果. .. . 就是水题了. ... #5. [NOI2014]动物园 统计提交情况 描写叙述 提交 近日.园长发现动物园中好吃懒做的动物越来越多了.比 ...