基本信息
- 原书名:Optimizing Linux Performance:A Hands-On Guide to Linux Performance Tools
- 作者: (美)菲利普 G.伊佐特(Phillip G. Ezolt)
- 译者: 贺莲 龚奕利
- 丛书名: Linux/Unix技术丛书
- 出版社:机械工业出版社
- ISBN:9787111560173
- 上架时间:2017-4-28
- 出版日期:2017 年4月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 操作系统 > Linux

内容简介
计算机书籍
在当前复杂的大规模系统场景下,好的应用程序性能比以往任何时候都更重要,但是获得这样的性能也更加困难。Linux由于其开源特性,已经具有一系列优化工具,只是这些工具散布在互联网上,工具的相关文档也很少,只有少数专家知道如何综合使用这些工具来解决实际问题。基于此,菲利普G.伊佐特著贺莲、龚奕利译的《Linux性能优化/Linux\\Unix技术丛书》介绍了当前常用的Linux优化工具,展示了它们是如何行之有效地提升整体应用程序性能的。通过真实案例,向开发人员演示了怎样定位影响性能的源代码行,使系统管理人员和应用程序开发人员能够迅速深入系统瓶颈,实施解决方案。
通过阅读《Linux/Unix技术丛书:Linux性能优化》,你能够:
在不熟悉底层系统的情况下,快速识别系统瓶颈。
针对具体问题,找到并选择正确的性能工具。
深入理解系统性能及优化问题。
掌握优化系统CPU、用户CPU、内存、网络I/O和磁盘I/O的方法,并了解它们之间的关系。
掌握修复计算密集型(CPU-bound)、延迟敏感和I/O密集型(I/O—bound)的应用程序的方法,跟随案例轻松地配置自己的环境。
安装并使用Linux系统的高级全系统分析器——oprofile。
无论读者的技术背景如何,性能优化的新手都能通过学习《Linux/Unix技术丛书:Linux性能优化》,掌握一系列清晰实用的优化原则和策略,并获得丰富的Linux知识,解决Linux系统和应用程序的优化问题,增加商业价值并提高用户满意度。
作译者
目录
前 言
致 谢
第1章 性能追踪建议 1
1.1 常用建议 2
1.1.1 记大量的笔记(记录所有的事情) 2
1.1.2 自动执行重复任务 3
1.1.3 尽可能选择低开销工具 4
1.1.4 使用多个工具来搞清楚问题 4
1.1.5 相信你的工具 5
1.1.6 利用其他人的经验(慎重) 5
1.2 性能调查概要 6
1.2.1 找到指标、基线和目标 6
1.2.2 追踪近似问题 7
1.2.3 查看问题是否早已解决 7
1.2.4 项目开始(启动调查) 8
1.2.5 记录,记录,记录 9
1.3 本章小结 9
第2章 性能工具:系统CPU 10
2.1 CPU性能统计信息 10
前言
如果你曾经坐等计算机完成工作(同时还伴随着敲打桌面、诅咒和好奇:“啥事儿要花这么长的时间?”),你就会知道有个速度快且性能优化良好的计算机系统是多么重要。尽管不是所有的性能问题都能轻易得到解决,但是,了解系统工作缓慢的原因,就意味着有可能采用不同的解决方法:修复软件问题,升级慢速硬件,或者干脆直接把计算机扔出窗外。幸运的是,大多数操作系统,尤其是Linux,都提供了工具用于检测机器运行缓慢的原因。使用一些基础工具,就可以确定系统中哪里速度慢,并修复那些运行效率低的部分。
虽然终端用户非常讨厌速度慢的系统,但对于应用程序开发者而言,他们有着更重要的理由对其程序进行性能调优:程序能够在多个系统上高效运行。如果你编写的程序运行缓慢,又需要快速的计算机,那么你就会排除掉那些拥有慢速计算机的用户。毕竟,并非所有人都具备最新的硬件。性能良好的应用程序能被更多的用户使用,从而带来更大的潜在用户群。另外,如果潜在用户必须在两个具有相似功能的不同应用程序中进行选择,他们通常会选择运行更快或效率更高的那一个。最后,长期使用的应用程序很可能会经过几轮优化,以便适应不同的用户需求,因此,关键是了解如何追踪性能问题。
如果你是系统管理员,那么对系统用户来说,你就有责任使系统在运行时保持适当的性能水平。若系统运行缓慢,用户就会抱怨。如果你能迅速找到并解决问题,他们就会停止抱怨。还有让人高兴的是,如果你能通过调整应用程序或操作系统来解决问题(从而使他们不用购买新的硬件),那么公司的会计就会很开心。知道如何有效使用性能工具就意味着,在性能问题上需要花费的时间是有区别的:几天,还是几个小时。
Linux:优势和劣势
如果你使用Linux,维护它并用其进行开发,你就会处于一种奇特但良好的处境中。你能访问和接触的源代码、开发者和邮件列表是前所未有的,通常,这些邮件列表中会记录着多年前的设计决策。Linux是发现和修复性能问题的优良环境。与之形成鲜明对比的是专有环境,在这种环境下,很难直接接触到软件开发者,同时也很难找到大多数设计决策讨论的书面记录,而访问源代码则几乎是不可能的。除了是一个高效环境外,Linux还具备强大的性能工具,使你能发现并修复性能问题。这些工具可以与那些专门的工具相媲美。
即使有着这些令人印象深刻的优势,Linux生态环境还是需要征服一些挑战。Linux性能工具分散性很强。不同的小组根据不同的目标开发工具,其结果就是,这些工具不一定集中在一个地方。有些工具已经包含在标准的Linux发行版中,如Red Hat、SUSE和Debian;而有些工具则分散在整个互联网上。如果你尝试解决一个性能问题,首先要做的是了解你需要的工具是否存在,然后再设法找到它们。由于没有哪一个Linux性能工具能够独立解决所有类型的性能问题,因此,还必须了解如何使用多个工具来确定问题出在哪儿。这可能需要点技巧,但是经验会让它变得容易些。虽然大多数常见的方法会有文档记录,但是Linux没有任何指南来告诉你如何整合性能工具以实际解决问题。很多工具或子系统都有调整特定子系统的信息,但是却没有说明如何将它们与其他工具一起使用。许多性能问题涉及系统的多个部分,如果不知道如何同时使用多个工具,就无法解决这些问题。
本书对你有何帮助?
从本书可以学到很多东西,包括:
各种性能工具能测量什么。
怎样使用每一种工具。
如何将工具组合起来解决性能问题。
如何从性能欠佳的系统入手,查明问题。
如何利用学到的方法来解决现实世界的问题(案例研究)。
利用本书提供的方法,你可以将组织严密的问题诊断说明发送给最初的开发人员。运气好的话,他们会帮你把问题解决掉。
为什么要学习使用性能工具?
为什么要花精力去调整系统或应用程序?
性能良好的系统能用更少的资源完成更多的工作。
性能良好的应用程序能在更老旧的硬件上运行。
性能良好的桌面系统能节约用户时间。
序言
本书第1章介绍了查找性能问题的基本方法,之后用若干章分别介绍了各种工具,涉及的性能问题包括系统CPU、用户CPU、内存、网络I/O以及磁盘I/O等多个方面。在介绍各种工具时,除了介绍工具的度量对象、使用方法和相关参数选项之外,还附上了一些例子演示其用法。如果一个工具可以用于多种问题,那么将会在相关的每一章中都看到它。第10章到第12章给出了综合性的、面向实际问题的案例,有助于读者在自己解决问题时选择和使用这些工具。
本书组织结构清晰明了,读者可以根据自己的经验水平选择所需章节阅读。本书不仅能让读者学习到性能调整的各个方面,还可以作为性能工具手册使用。
在此感谢机械工业出版社华章公司的编辑朱劼和唐晓琳,感谢她们耐心细致的工作,以及在翻译过程中给予我们的支持和帮助。
在翻译中我们秉持认真细致的态度,但是由于能力所限,还是会存在错误与疏漏,希望广大读者批评指正。
贺莲龚奕利