系统性能优化(第二版)
[特价中]基本信息
- 原书名:System Performance Tuning,Second Edition
- 原出版社: O'Reilly
- 作者: Gian-Paolo D.Musumeci&Mike Loukides
- 译者: 邢飞 甄广启
- 丛书名: O'REILLY系列
- 出版社:中国电力出版社
- ISBN:7508312872
- 上架时间:2003-10-28
- 出版日期:2003 年9月
- 开本:16开
- 页码:375
- 版次:2-1
- 所属分类:
计算机 > 计算机科学理论与基础知识 > 综合
内容简介回到顶部↑
本书解答了读者对计算机系统提出的两个最基本的问题:如何在不购买新硬件的条件下完成更多的工作?何时才真正需要添加硬件(更多的内存,更快的磁盘、CPU以及网络接口)?有时只需消除一些简单的瓶颈即可解决许多性能问题——但是要实现它,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。一味地投资并不是能够让人们接受的办法——并且也不一定生效。本书是对系统性能的整体说明。对于性能问题没有简单的解决办法。不理解程序如何争用系统资源,就只能将问题从系统的一个地方推到另一个地方。
修改配置可以解决系统性能问题。有时,培训也是一种解决方法,教给用户更有效的解决方式来完成他们的工作(或者意味着更好的编码工作,或者仅仅是“不同时启动九个仿真”)。无论如何,理解计算机和操作系统如何工作是使它们工作更有效率的关键。
尽管本书中讨论的原则适用于所有的计算机系统,但是这一完全更新的版本主要关注Solaris和Linux。本书对有关I/O和网络子系统的内容进行了扩充,并在理解磁盘阵列、微处理器和代码优化方面增添了新的内容。
修改配置可以解决系统性能问题。有时,培训也是一种解决方法,教给用户更有效的解决方式来完成他们的工作(或者意味着更好的编码工作,或者仅仅是“不同时启动九个仿真”)。无论如何,理解计算机和操作系统如何工作是使它们工作更有效率的关键。
尽管本书中讨论的原则适用于所有的计算机系统,但是这一完全更新的版本主要关注Solaris和Linux。本书对有关I/O和网络子系统的内容进行了扩充,并在理解磁盘阵列、微处理器和代码优化方面增添了新的内容。
目录回到顶部↑
前言
第一章性能优化简介
计算机体系结构介绍
性能优化法则
静态性能优化
结束语
第二章工作流程管理
工作流程描述
工作负载控制
基准测试
结束语
第三章处理器
微处理器体系结构
高速缓存(cache)
进程调度
多重处理技术
外围设备互连
处理器性能工具
结束语
第四章内存
第一章性能优化简介
计算机体系结构介绍
性能优化法则
静态性能优化
结束语
第二章工作流程管理
工作流程描述
工作负载控制
基准测试
结束语
第三章处理器
微处理器体系结构
高速缓存(cache)
进程调度
多重处理技术
外围设备互连
处理器性能工具
结束语
第四章内存
前言回到顶部↑
本书主要讲述如何对系统进行优化,以使其达到最佳应用性能。作者将讨论如何执行实际性能优化,以及如何最有效地使用应用软件。作者也会解释这些可调整参数背后的底层算法,从而使读者可以依据自己的环境做出明智的选择。本书也将简单涉及容量规划,它描述如何为不同的用途分配恰当的系统尺寸。
本书适用对象
本书主要适用于那些对优化计算机性能感兴趣的读者。对于那些需要做出购买决定的人来说,本书为他们提供了关于各种系统组件如何相互作用的详细描述,并指出了需要注意什么。编写或优化代码的人会找到关于现代编译器选项的简明解释,以及底层操作系统如何管理它们的运行时应用程序。最后,对于那些只对学习计算机如何工作感兴趣的读者来说,他们在本书中也会找到很多感兴趣的资料。
对本书所涵盖内容的注释
本书主要面向Solaris(包含直到Solaris 8的版本)和Linux操作环境,然而侧重于Solaris。这有几方面的原因,我需要在这里阐明:
· 绝大多数的数据中心运行Solaris;这些环境需要最有效的性能优化。
· Solaris机器更注重性能。我猜测可能是平均来讲Sun系统比同类的Linux要昂贵得多的原因,人们对它的性能要求更高一些,所以Solaris的这一领域能完成更多的工作。如果你的Linux性能不是很好,可以再购买一个来分摊工作量——它很便宜。如果你花几百万美金购买的UltraEnterprise 10000性能不是很好,你所在的公司因为它而损失惨重,那么可以给Sun的服务部门打电话,对他们进行质问。
· 最后,在Solaris上可用的性能分析工具要比Linux上可用的工具强大得多。
一部分原因是执行性能分析并不是一件吸引人的工作,一部分原因是有时用户需要通过硬件的改变来获得最佳的性能;还有一部分原因则因为Linux是相对较新的操作系统,由相对较少的人员开发,而Solaris(及其前身SunOS,它为Solaris的开发过程提供了很多反馈资料)是历史比较悠久的操作系统,并且Sun是一家规模极大的公司。最终结果是,由于我们深入分析性能问题以及做出明确的优化决议的能力都主要以性能数据收集工具(否则,每当我们进行优化时,就会像在黑夜中一样不知所措)提供的数据为依据,所以优化Linux系统是相当困难的。这里直接针对于性能优化的主要法则(见第一章的“法则0:理解环境”一节)。
作者并不是有什么偏见或者反对哪一种操作系统(注1)。在Linux上进行性能优化是一件令人头痛的事情,这是一个很简单的事实,因为容易理解的工具并不一定总是可用的。
如果用户正运行在Linux系统上,那么就必须要下载并安装sysstat包,它提供各种(非常有限)版本的iostat、mpstat和sar。虽然远远没有Solaris上的版本那么完整,但它们至少是一种可以获得信息的方式。直到写这本书时,读者都可以从作者的Web站点(Sebastien Godard)http://perso.wanadoo.fr/sebastien.godard/上下载它们。
如何阅读本书
读者既可以将本书作为一本参考书,也可以作为一本故事书进行阅读。对性能优化和分析有所了解的人们可能想立即进入到特定的章节(可能关心到哪里查找他们觉得疑惑的问题),然后将本书作为一种参考。作者强烈反对这么做。
将本书作为一本故事书
要最有效地使用本书,应该先像读故事书那样阅读。最重要的是从本书中获得思考问题的习惯、方式和解决问题的方法,这要在读书的过程中获取,而不是通过记忆列表中的选项来获取。
我们将要讨论的主题中有许多看起来简单易懂。事实上,它们是现代计算机体系结构的基础(计算机为什么工作),通常非常复杂。如果读者不得不重读本书的某些部分,不要惊慌;这实际上是花费时间来消化这些资料。
将本书作为一本参考书
读者将此书作为故事书阅读完、并理解了这些性能问题是如何聚集在一起的之后,本书将成为一本非常有用的参考书。如果读者没有将此书作为一本故事书阅读,那么可能会查看其中的某个图表(例如,第四章“Linux中的虚拟内存管理”一节对内核内存调整的描述),然后认为自己对整个图表内容已有所理解。如果真是这样,那么读者可能错过了许多复杂的背景知识。当读者将本书作为一本故事书读完后,就能够对这些复杂问题有所了解了。
组织结构
本书包括九章:
本书适用对象
本书主要适用于那些对优化计算机性能感兴趣的读者。对于那些需要做出购买决定的人来说,本书为他们提供了关于各种系统组件如何相互作用的详细描述,并指出了需要注意什么。编写或优化代码的人会找到关于现代编译器选项的简明解释,以及底层操作系统如何管理它们的运行时应用程序。最后,对于那些只对学习计算机如何工作感兴趣的读者来说,他们在本书中也会找到很多感兴趣的资料。
对本书所涵盖内容的注释
本书主要面向Solaris(包含直到Solaris 8的版本)和Linux操作环境,然而侧重于Solaris。这有几方面的原因,我需要在这里阐明:
· 绝大多数的数据中心运行Solaris;这些环境需要最有效的性能优化。
· Solaris机器更注重性能。我猜测可能是平均来讲Sun系统比同类的Linux要昂贵得多的原因,人们对它的性能要求更高一些,所以Solaris的这一领域能完成更多的工作。如果你的Linux性能不是很好,可以再购买一个来分摊工作量——它很便宜。如果你花几百万美金购买的UltraEnterprise 10000性能不是很好,你所在的公司因为它而损失惨重,那么可以给Sun的服务部门打电话,对他们进行质问。
· 最后,在Solaris上可用的性能分析工具要比Linux上可用的工具强大得多。
一部分原因是执行性能分析并不是一件吸引人的工作,一部分原因是有时用户需要通过硬件的改变来获得最佳的性能;还有一部分原因则因为Linux是相对较新的操作系统,由相对较少的人员开发,而Solaris(及其前身SunOS,它为Solaris的开发过程提供了很多反馈资料)是历史比较悠久的操作系统,并且Sun是一家规模极大的公司。最终结果是,由于我们深入分析性能问题以及做出明确的优化决议的能力都主要以性能数据收集工具(否则,每当我们进行优化时,就会像在黑夜中一样不知所措)提供的数据为依据,所以优化Linux系统是相当困难的。这里直接针对于性能优化的主要法则(见第一章的“法则0:理解环境”一节)。
作者并不是有什么偏见或者反对哪一种操作系统(注1)。在Linux上进行性能优化是一件令人头痛的事情,这是一个很简单的事实,因为容易理解的工具并不一定总是可用的。
如果用户正运行在Linux系统上,那么就必须要下载并安装sysstat包,它提供各种(非常有限)版本的iostat、mpstat和sar。虽然远远没有Solaris上的版本那么完整,但它们至少是一种可以获得信息的方式。直到写这本书时,读者都可以从作者的Web站点(Sebastien Godard)http://perso.wanadoo.fr/sebastien.godard/上下载它们。
如何阅读本书
读者既可以将本书作为一本参考书,也可以作为一本故事书进行阅读。对性能优化和分析有所了解的人们可能想立即进入到特定的章节(可能关心到哪里查找他们觉得疑惑的问题),然后将本书作为一种参考。作者强烈反对这么做。
将本书作为一本故事书
要最有效地使用本书,应该先像读故事书那样阅读。最重要的是从本书中获得思考问题的习惯、方式和解决问题的方法,这要在读书的过程中获取,而不是通过记忆列表中的选项来获取。
我们将要讨论的主题中有许多看起来简单易懂。事实上,它们是现代计算机体系结构的基础(计算机为什么工作),通常非常复杂。如果读者不得不重读本书的某些部分,不要惊慌;这实际上是花费时间来消化这些资料。
将本书作为一本参考书
读者将此书作为故事书阅读完、并理解了这些性能问题是如何聚集在一起的之后,本书将成为一本非常有用的参考书。如果读者没有将此书作为一本故事书阅读,那么可能会查看其中的某个图表(例如,第四章“Linux中的虚拟内存管理”一节对内核内存调整的描述),然后认为自己对整个图表内容已有所理解。如果真是这样,那么读者可能错过了许多复杂的背景知识。当读者将本书作为一本故事书读完后,就能够对这些复杂问题有所了解了。
组织结构
本书包括九章:








点击看大图




加载中...

