本文译自Wikipedia的Performance tuning词条,原词条中的不少链接和扩展内容非常值得一读,翻译过程中暴露了个人工程学思想和英语水平的不足,翻译后的内容也失去很多准确性和丰富性,需要在之后的时间继续细读。

Performance Tuning特指计算机系统的性能优化工作。它通常是根据某个现实或潜在的性能问题而发起的。绝大部分系统都会因为负载的升高而导致性能下降,一个系统对于负载的可承受能力称为可扩展性(scalability),调整系统使其可以承受更大的负载就是performance tuning代名词.

系统性的调优工作可以遵循以下步骤:

  • Assess the problem and establish numeric values that categorize acceptable behavior.
  • Measure the performance of the system before modification.
  • Identify the part of the system that is critical for improving the performance. This is called the bottleneck.
  • Modify that part of the system to remove the bottleneck.
  • Measure the performance of the system after modification.
  • If the modification makes the performance better, adopt it. If the modification makes the performance worse, put it back the way it was.
  • 评估问题,为系统分类建立可接受的度量指标
  • 测量系统调整前的性能表现
  • 分析系统运行性能的瓶颈
  • 调整系统消除瓶颈
  • 测量系统调整后的性能表现
  • 如果性能改善,则采纳调整方法;如果未得到改善,回滚调整措施

这种测度-评估-改进-学习的工作方法来自QA体系。

性能问题往往体现为系统运行缓慢或者失去响应,它往往是因为负载过高,导致系统某些组件达到了其最大响应能力的限制,这些限制我们称其为系统瓶颈。有一些方法可以用以改进系统性能,其中包括code optimization,configuration optimization,caching strategy,load balancing,distributed computing和self-tuning。

性能分析:
性能分析也叫做profiling,是一项采集程序运行数据以研究程序运行情况的工作。它的目的是分析和判断对程序的哪个部分进行优化。profiler是指分析程序运行情况的工具,特别是分析函数运行的频度和持续时间。最早的profiler出现在1970s,人们往往根据它们的输出信息的类型和数据采集的方式对他们进行分类。

性能工程:
性能工程学科包括角色、技能、活动、实践、工具和可交付成果,用于满足设计系统的非功能性需求,如增加业务收入,减少系统故障和项目延期,避免不必要的资源和工作投入。几种常见的不同方法的活动:

  • 识别关键流程
  • 细化流程的用例和系统容量说明。
  • 制度建设,包括性能调优。
  • 构建系统的部署
  • 服务管理,包括系统部署后的实施活动

self-tuning:
self-tuning系统能够优化其内部的运行参数,以最大化或最小化目标函数的实现,例如最大化效率或最小化错误。self-tuning系统通常表现出非线性自适应控制。self-tuning系统已经成为航空航天工业几十年来的一个品质证明,像这类反馈是生成最优非线性多变量控制流程所必需的。典型例子如TCP协议的拥塞控制.

Performance Tuning的更多相关文章

  1. Spark SQL 之 Performance Tuning & Distributed SQL Engine

    Spark SQL 之 Performance Tuning & Distributed SQL Engine 转载请注明出处:http://www.cnblogs.com/BYRans/ 缓 ...

  2. IBM HTTP Server Performance Tuning

    IBM HTTP Server Performance Tuninghttp://publib.boulder.ibm.com/httpserv/ihsdiag/ihs_performance.htm ...

  3. 30 分钟快快乐乐学 SQL Performance Tuning

    转自:http://www.cnblogs.com/WizardWu/archive/2008/10/27/1320055.html 有些程序员在撰写数据库应用程序时,常专注于 OOP 及各种 fra ...

  4. PostgreSQL Hardware Performance Tuning

    Bruce Momjian POSTGRESQL is an object-relational database developed on the Internet by a group of de ...

  5. Performance Tuning guide 翻译 || 前言

    CSDN 对格式支持比較弱,能够到http://user.qzone.qq.com/88285879/blog/1399382878 看一致的内容. 前言Preface 包含例如以下几个小节 l Au ...

  6. Performance Tuning guide 翻译 || Performance Tuning Guide 11G中新增特性

    CSDN 对格式支持比較弱.能够到http://user.qzone.qq.com/88285879/blog/1399382878 看一致的内容. Performance Tuning Guide  ...

  7. mysql优化---优化工具MySQL performance tuning primer script

    MySQL performance tuning primer script一个简单好用的mysql优化工具,其实一个shell脚本 下载: $ wget http://www.day32.com/M ...

  8. 老李分享: Oracle Performance Tuning Overview 翻译下

    1.2性能调优特性和工具 Effective data collection and analysis isessential for identifying and correcting perfo ...

  9. 老李分享: Oracle Performance Tuning Overview 翻译

    老李分享: Oracle Performance Tuning Overview 翻译   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工 ...

随机推荐

  1. B树——算法导论(25)

    B树 1. 简介 在之前我们学习了红黑树,今天再学习一种树--B树.它与红黑树有许多类似的地方,比如都是平衡搜索树,但它们在功能和结构上却有较大的差别. 从功能上看,B树是为磁盘或其他存储设备设计的, ...

  2. 关于这段时间学习 EntityFramework的 一点感悟

    Ado.Net,用了N多年,Entity Framework也关注了很多年. 每当项目转型的时候,就花费大巴的时间,学习一番,潮流的东西. 这个Orm很多,这个EF很火,这么多年了,我还是不敢用,虽然 ...

  3. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  4. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

  5. CSS知识总结(九)

    CSS常用样式 10.自定义动画 1)关键帧(keyframes) 被称为关键帧,其类似于Flash中的关键帧. 在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“ ...

  6. jQuery幻灯片插件autoPic

    原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!

  7. python 数据类型---文件二

    1.打印进度条 import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() #不等缓冲 ...

  8. 访问者模式(visitorpattern)

    /** * 访问者模式 * @author TMAC-J * 在客户端和元素之间添加一个访问者 * 当你需要添加一些和元素关系不大的需求时,可以直接放在访问者里面 * 或者是元素之间有一些公共的代码块 ...

  9. 【JQ基础】数组

    each() 方法规定为每个匹配元素规定运行的函数.

  10. Linux学习

    Linux 命令英文全称su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du ...