标题：性能测试诊断分析与优化
图书信息
测试实践丛书 
《性能测试诊断分析与优化》
陈能技 郭柏雅 编著  性能测试诊断分析与优化
ISBN 978-7-121-16745-4
2012年6月出版
定价：55.00元
16开
376页
Web性能测试的专业工具书，
软件测试工程师的良师益友。
内容简介
性能测试是软件系统健康持续运行的前提，在软件系统上线之前，必须由性能测试工程师采用合理的测试策略，设计相应的性能测试方案，对软件系统实施性能测试、压力测试、负载测试等。性能测试往往能在软件系统上线前揭露软件系统的性能问题，如何诊断分析软件系统的性能瓶颈是软件开发团队实施性能优化的关键。
本书结合主流性能测试工具LoadRunner，讲解性能测试过程、方法和技术；结合笔者丰富的性能诊断调优经验，讲解如何有效分析和诊断性能问题、发现性能瓶颈。
本书分为3篇，第1篇是性能测试基础篇，主要介绍性能测试的基础知识；第2篇是性能测试工具篇，主要介绍如何使用主流的性能测试工具LoadRunner进行性能脚本设计、性能场景设计和性能结果分析；第3篇是性能问题诊断分析篇，主要介绍如何分析、定位性能瓶颈，涵盖Web服务器、应用服务器、数据库、应用代码、操作系统等层面的诊断分析。
本书适合性能测试工程师、软件开发工程师、系统设计工程师阅读，也可作为高等院校相关专业师生的参考书。
作者介绍
陈能技
资深软件测试专家，广州亿能测试技术服务有限公司创始人。
10年软件测试和质量管理经验。熟悉软件自动化测试、性能测试、安全测试及相关工具的应用。曾主导多个大型软件项目的测试和质量保证工作，包括：飞机维修跟踪管理系统、IETM技术资料管理系统、物流管理系统等。为多家企业进行软件测试方面的培训和咨询顾问，包括：上海阿尔斯通、施耐德、深圳空管站、广电运通、中国南车、厦门35互联、广州数控、易方达、贵州电网、环球市场集团等。
著有《软件测试技术大全》、《.NET软件测试实战技术大全》、《QTP自动化测试进阶》、《软件自动化测试成功之道》等多本畅销书。
创办自动化测试资讯网
郭柏雅
来自美丽的海上花园城市厦门的一个平凡的软件测试工程师，是7dtest、禄泽测试论坛版主、禄泽教育特约高级讲师。多年来一直致力于研究银行业商业智能数据服务、数据类型项目测试和软件性能测试诊断分析优化技术工作。多次帮助商业银行客户解决生产故障问题，为他们提供测试咨询支持工作。目前担任公司测试主管，具有丰富的测试团队管理、自动化测试工作经验。一直以来受当地多家IT公司邀请提供软件性能测试和诊断分析优化技术指导培训工作，多次受当地高校邀请为毕业生做就业培训指导工作。
业界热评
当前的软件性能测试领域，不光要关注如何在前端通过分析AUT的业务场景来构建负载模型，更需要在后端系统的监控、性能诊断和调优方面做更多有价值的工作。这本百科全书式的性能测试书籍，尤其在这方面做了非常有特点的探索和实践经验总结，相当值得一读。
夏海涛
今日在线科技发展有限公司  副总经理兼技术总监
本书深入分析介绍软件性能测试各阶段如何介入工作，对于准备在公司组建性能测试体系流程管理的以及对于热衷于性能诊断分析优化技术的朋友提供了很好的引导方向，是一本很有实用价值的书！
Zee   7dtest创建者
在企业级应用软件开发过程中，为了提升应用版本上线质量，引入第三方测试咨询团队已成为趋势。作为一本全面系统地介绍应用性能测试诊断分析与优化的书，相信本书的出版，将给更多有志于性能测试方向的工程师提供指引。
程永新
新炬网络  常务副总经理
推荐序一
初识泊涯是在2007年，当时他出差到北京，于是不谋而合地相约见面。在后海的餐厅一起讨论软件测试、性能测试和性能调优等。离别后还相约下次见面，但谁知造物弄人，只能在网上和电话中相见了。相隔几年后，得知泊涯同学要出书了，就自告奋勇帮他写下序。
阅读泊涯这本《性能测试诊断分析与优化》时，让我想起儿时母亲给我讲过的18颗樱桃，18次弯腰的故事，歌德在他的《叙事谣曲》中讲了这么一则小故事：耶稣带着门徒彼得远行，路上看到一块小小的马蹄铁，便让彼得捡起来，但彼得懒得弯腰，假装没听见。耶稣没说什么，自己捡起马蹄铁，路过城镇时到铁匠铺换了三文钱，又用这钱买了18颗樱桃。两人继续前行，经过的地方全是茫茫的荒野，耶稣知道彼得又渴又饿，就将藏于袖中的樱桃掉出一颗，彼得慌忙捡起来吃掉。耶稣边走边丢，彼得也就狼狈不堪地弯了18次腰。 耶稣笑了，对彼得说：“如果当初你弯一次腰，就不会在后来没完没了地弯腰了。小事不干，将来就会在更小的事情上操劳。”
对于这个故事，不同的人从不同的方面可能有不同的感悟和理解。作为一个多年的IT从业者，自然而然就想起了软件的测试过程。软件测试是一项庞大而复杂的工作，小到每一个测试用例的实施，为了确保软件的质量，测试中每一个“小事”都要做好。软件测试工作琐碎、繁杂又耗时间，而性能测试领域更是需要关注每一个细微的变化，任何一个指标的分析。
作者是业内资深的性能测试人士，具备多年软件开发和软件测试工作经验。这本《性能测试诊断分析与优化》是作者与能技兄多年来的工作经验积累，在软件开发、软件测试流程、软件工程、流程制定和改进、质量保证、自动化测试等领域有深厚的造诣。作者重点聚集在实践性，从软件测试项目启动、测试计划开始，到测试用例编写，功能测试到项目上线运行中性能问题的分析及解决做了详尽的阐述。
在解决软件运行中的性能问题，本书全面阐述了性能测试中理论分析和详细的实战经验，对长期从事软件测试的技术人员具有重要的参考价值。
在软件产业飞速发展的十多年间，软件测试已经渗入到IT行业的各个领域，成为不可缺少的技术。越来越多的软件公司将更多的时间和精力投向了测试工作。很多公司测试人员与开发人员的比例已经由以前的1︰5或1︰6，变为现在接近1︰1。
目前，金融、电信、游戏、电子商务及通用软件等都投入大量资金用于测试。为保证软件的质量及性能的稳定性，减少使用过程中的维护次数及费用，软件测试已成为影响软件企业生产质量的关键问题。性能测试也被提到了前所未有的高度，性能测试技术是一个综合的技能，希望本书能够为同行业者提供有益的指导。
禄泽教育总经理  赵智乾
推荐序二
受多年好友能技兄所托，要我给他的新书作推荐序，心中难免有些惊讶。既欣赏其对技术的钻研和执着精神，又佩服其毫不吝惜地将自身辛苦积累的实践经验总结出来，以书籍的形式传播这些知识。于是动容，于是欣然动笔。
技术的发展是一把双刃剑，既给人们带来了便利和好处，又给人们带来了新的问题。比如随着软件技术的快速发展，一方面使人们可以快速地开发更加复杂的应用系统，另一方面也使开发出的应用系统架构越来越复杂、规模也越来越大。随之而来的则是系统性能问题越来越多，尤其是在业务高峰时段出现的系统反应慢、响应时间过长、事务处理能力弱，甚至于系统崩溃的现象也屡有发生。从而导致所开发的应用系统由于性能问题最终被停止使用，不仅给企业自身造成了损失，还有可能造成不良的社会影响，如最近发生的铁道部网上订票网站性能问题等。因此，如何测试并准确定位和分析解决应用系统的性能问题，对企业自身和用户都有着极为重要的现实意义。
本书给出了上述问题的答案！首先讲述了性能测试基础知识和性能测试工具的使用，在此基础上再对性能问题的诊断和分析技术进行了详细阐述。本书在传递性能基础知识的同时，告诉我们如何应用工具来测试应用系统性能，诊断和定位分析应用系统的性能问题。这是本书的特色，也是本书与以往的性能测试技术类书籍的不同之处。
本书结合了作者丰富的性能测试实践经验，深入浅出地阐述了最实用的性能测试和性能诊断分析技术知识，相信这些实践经验的总结，也是很多测试人员所需要的。整本书的知识结构清晰、脉络分明、循序渐进、循循善诱，对于有志于学习和提高自身性能测试实战能力的读者而言，确为一本不可多得的好书。
我很高兴能为这本以实践经验为基础写成的实战性非常强的作品作推荐序，预祝《性能测试诊断分析与优化》能够早日出版。也希望国内有更多的人来关注性能测试，更好地探讨、解决软件性能问题的技术和方法，共同促进我国软件质量水平的不断提高。
中国赛宝实验室软件评测中心 商用软件测试部主任  姚日煌
2012年4月23日
前  言
软件系统是企业IT的核心，软件系统的质量影响着企业的运转、业务的开展，除了软件系统的功能正确性外，软件系统的质量还包括性能、安全性、可靠性等。
软件性能问题遍布各种行业领域的软件系统，例如金融业务服务系统、电子商务网站、移动互联应用系统、网络游戏、嵌入式软件系统等。在竞争日趋激烈的商业环境下，为了满足用户日益增加的体验需求，软件系统的性能优化被提到了前所未有的高度，您的软件系统比竞争对手快1秒，您就有可能比竞争对手多赚100万！
软件性能优化离不开性能测试，全面的性能优化需要全过程的性能测试解决方案，包括性能需求分析、性能设计、性能系统测试、性能诊断分析与调优。
在软件生命周期的需求分析阶段，需要对软件性能的需求作出定义，并进行需求分析，尤其是软件性能需求的可测试性分析，这有利于后续开展性能架构设计和性能测试的工作。
在设计阶段，尤其是架构设计阶段，应该对软件系统的性能架构进行充分设计、原型评估，必要时在这个阶段可进行小规模的性能验证性测试，以便论证系统架构在性能上的可扩展性。
在代码设计阶段，需要按照指定的开发规范进行软件开发。为了获得最佳的性能体验，需要从每个细节入手确保软件性能，及时进行代码性能检查和评估。
系统的性能测试可分为负载测试、压力测试、耐力测试、容量测试等多种类型，不同类型的性能测试侧重点不同，需要根据软件系统特点和项目类型进行选择。
软件系统的性能瓶颈可能出现在各个环节，例如数据库、中间件应用服务器、Web服务器、网络、代码层。性能瓶颈的定位和诊断分析需要熟悉软件系统的各个方面，通常需要多种项目成员角色配合一起完成，例如DBA、系统管理员、网络管理员、设计人员、测试人员等。
本书结合主流的性能测试工具LoadRunner，讲解性能测试过程、方法和技术。另外，结合笔者多年性能测试和性能优化经验，详细讲解了软件系统常见的性能瓶颈，以及如何发现、诊断分析这些性能瓶颈，从而提出性能优化方案。
本书的内容安排

目  录
第1篇  性能测试基础篇
第1章  性能测试基础 2
第2章  性能测试流程 31
第2篇  性能测试工具篇
第3章  LoadRunner脚本开发 66
第4章  LoadRunner场景设计与运行 132
第5章  LoadRunner测试结果分析 154
第3篇  性能问题诊断分析篇
第6章  Web服务性能问题诊断分析 166
第7章  应用服务性能问题诊断分析 179
第8章  数据库服务性能问题诊断分析 234
第9章  应用代码性能诊断分析 261
第10章  操作系统性能问题诊断分析 318
附录  参考书目和资源 357