Linux服务器性能调整,提供运维的调试基本技能,适合对linux感兴趣的开发人员Linux服务器性能调整Sandra K. Johnson(美) Gerrit HuizengaBadari Pulavarty韩智文译清华大学出版社北京rized translation from the English language edition, entitled Performance Tuning for Linuxrs, 9780137136285 by Sandra K. Johnson, Gerrit Huizenga, Badari Pulavarty, published byPearson Education, Inc, publishing as IBM Press, Copyright 2005All nights reserved. No part of this book may be reproduced or transmitted in any form or by anymeans, electronic or mechanical, including photocopying, recording or by any information storageval system, without permission from Pearson Education, Inc.CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD, andTSINGHUA UNIVERSITY PRESS Copyright e 2009北京市版权局著作权合同登记号图字:01-20094898面贴有 Pearson Education(培生教育出版集团)防伪标签,无标签者不得销售有,侵权必究。侵权举报电话:010-6278298913701121933图书在版编目cP数据Linux服务器性能调整(美)约翰逊( Johnson,S.K),(美)威曾格( Huizenga C,),(美)普拉瓦提( Pulavarty,B.)著:韩智文译.一北京:清华大学出版社,2009.9书名原文: Performance Tuning for Linux ServersIsBN978-7-302-20532-6IL…Ⅱ.①约…②威…③普…④韩…Ⅲ Linux操作系统ⅣTP3l689中国版本图书馆CIP数据核字(2009)第1107号责任编辋:王军于平装帧设计;孔祥丰责任校对:成风进责任印制:杨艳出版发行:清华大学出版社地址;北京清华大学学研大厦A座p:∥www.tup.com.cn邮编:100084社总机:010-62770175邮购:010-62786544投稿与读者服务:010-62776969,servicer@tup.tsinghua.edu.cn质量反馈:010-62772015,zhiliang@tup.tsinghua,eda.cn印劂者:清华大学印刷厂装订者:三河市深源装订厂经销:全国新华书店开本:185×260印张:27.5字数:669千字版次:2009年9月第1版次:2009年9月第1次印刷印数:1~4000定价:580元本书如存在文字不清、漏印、缺页、倒页、脱页等印装质量问题,请与清华大学出版社出版部联系调换。联系电话:(010)62770177转3103产品编号:02968801译者序计算机要解决的基本问题之一是如何在不增添更多硬件能力的情况下使其能够完成更多工作。在当前的全球经济形势下,企业面对更加严峻的成本压力,性能经过优化的服务器系统能够节省运营资金和时间,因此更加凸现了系统性能调优的重要性。 Linux服务器在许多企业中扮演着关键性的角色,这也意味着其性能具有极为重要的影响。当 Linux作为企业级服务器操作系统使用时,需要监控其性能并在必要时进行调优,以便清除可能为用户带来影响的瓶颈。性能调优是一门在天平上跳舞的科学和艺术。这是一项非常困难的任务,要求对计算机硬件、操作系统及应用都有深入的理解。在优化 Linux服务器的系统性能时,有必要将性能调优技术、系统优化要素、合适的工具以及用于性能测量的服务器应用加以合理集成年来,开源社区中对 Linux系统优化的讨论日渐热烈,关于此类技术的书籍也不断增多。本书阐述了各种对运行于 Linux系统之上文件、打印、数据库和应用服务器加以优化的实用技术;具体描述了 Linux的性能调优方法、服务器的性能监控和分析工具,以及特定服务器应用的关键调优参数。其目的是解释如何分析和调优 Linux操作系统,以便为在其上运行的任何应用提供卓越的性能同时,本书将操作系统的先进设计理论、系统性能的基准测试方法以及大量的实际测试分析工作加以适当集成。它不流俗于浮浅的信息堆积,而是对于每个讨论主题既给出了羊尽的技术背景信息和可调优参数,也交织着实用的配置和测试说明。作者基于多年积累的丰富实践经验提供了大量操作范例,从而有助于读者了解可用的技术并做出明智的调优决策。例如,第8章不仅提供了调度器可调优参数的列表,还包含了其描述信息和性能值得一提的是,本书虽由IBM出版社发行,但并非一部仅以IBM产品为中心的书籍本书基于主要的企业级 Linux平台 Red Hat Enterprise和SUSE Linux Enterprise展开述,但大部分内容具有普遍适用性,可应用于几乎所有针对26内核以及部分针对24内核系列的 Linux发行版本。书中多数内容只是用于阐释特定技术要点,而不要求读者遵循一种逐步执行过程Linu器性能调整本书由世界领先的 Linux研发实验室— IBM Linux技术中心的众多性能专家合著而成,凝结了群体的智慈。这种编撰形式极易导致整部书丧失一致的著作风格。但本书并非如此,它的各章内容结构流畅,风格统一,难以看出多位编著者斧凿的痕迹。本书作者在写作时不仅极好地凝练了资料素材,还将一些高度技术化的复杂概念深入浅出地呈现给读者。例如,第2章“内核概述”详细清晰地讨论了 Linux内核的体系结构。相信本书将会成为长期驻留于读者案头上的参考指南译者年12月作者简介Sandra K. Johnson博士是一名拥有16年经验的高级技术人员。她的研究领域涉及cache一致性协议、存储子系统、并行IO子系统、Java服务器以及 Linux领域的工作负荷描述与性能分析。她是 IBM Linux技术中心的 Linux性能架构师,目前是IBM系统与技术事业部的全球中小型企业部门的首席技术官Gerrit Huizenga是IM俄勒冈州比弗顿 Linux技术中心的 Linux基础技术 Linux BaseTechnologies)软件工程师和架构师。 Gerrit已经致力于架构、设计和实現操作系统的能达20余年,重点关注性能、可扩展性、标准和安全。在为 IBM Linux技术中心工作之前Gerrit是 Sequent Computer Systems公司的操作系统首席专家Badari Pulavarty是IBM俄勒冈州比弗顿 Linux技术中心的高级工程师;具有15年开发UNⅨ操作系统的经验;主要研究领域是 Linux在wM、IO、文件系统和存储子系统方面的性能问题。贡献人员简介Vaijayanthimala Anand,高级软件工程师,具有多年网络协议/动程序开发和体系结构设计经验。过去3年里她致力于 Linux内核性能的研究。获 Houston大学计算机科学硕士学位Steve best为IBM得克萨斯州奥斯汀 Linux技术中心服务。他当前正在开发 Linux项目中的 Journaled File System(JFS)。 Steve在操作系统开发领域完成了广泛的工作,重点是文件系统化及安全方面Edward G Bradford博士,高级工程师。具有15年以上的UNⅨX操作系统开发及开发管理经验。日前致力于 Linux与其他平台的性能比较问题Mark Brown,具有20年以上的UNX和 Linux经验,包括服务于GNUC库指导委员会( GNU C Library Steering Committee)。他的具体研究领域是操作系统APl和ABI规范,以及C运行库的问题Mingming Cao,,IBM俄勒冈州比弗顿 Linux技术中心的 Linux内核开发人员。她的研究领域包括进程间通信、文件系统和IO。Ruth forester,IBM俄勒冈州比弗顿 Linux技术中心的性能工程师。她从事终端用户和系统设计方面的UNX和数据库性能研究已有15年。参与开发了TPCD并为TPC服务7年。她完成的工作涵盖应用程序性能以及一级、二级和三级 cache的性能影响Steven French, IBM Linux技术中心的高级工程师,负责 Linux文件系统设计,具有年以上的网络软件的设计和开发经验。是 Linux内核中CIFS文件系统的编写者, Samba团队成员,存储网络产业联盟( Storage Networking Industry Association)的CIFS工作组主席。Dominique Heger,致力于研究操作系统性能、性能建模、算法和数据结构,以及IO扩展性。他曾为IBM、 Hewlett-Packard以及 Unisys工作过。获信息系统博上学位。前言廉价的硬件、运行的高稳定性以及不懈的技术开发造就了 Linux(开源)操作系统的不断发展。 Linux最常见的用途是充当Web服务器。当前,它可以提供众多企业级服务,如电子邮件、防火墙、代理、网关、数据库、应用程序、文件服务器、打印等。在更高端的企业服务器领域,Linx也即将成为一种具有竟争力的操作系统。主要的华尔街公司、电影制作公司以及其他众多企业都在转向使用 Linux以满足其对企业服务器的需随着服务器的部署日益增多,服务器操作系统的性能已成为系统整体效率的决定因素,并将会影响到所有用户。虽然使用更新更快的服务器来替换整个服务器也是一种解决方案,但更合适的办法常常是只替换或添加必需的组件而使其他组件保持不变。系统性能低下的原因多源于个别硬件子系统中存在着瓶颈、操作系统配置不当或者应用程序缺少性能优化等问题。提高性能的关键是要理解系统中有哪些可用的软硬件配置选项,理解性能工具及其用法,对利用这些工具获取的结果进行分析并对系统进行适当调整,从而对服务器性能产生正面影响。本书提供了理解和改善 Linux服务器性能所需的基本知识和技能。由 Linux专业人员编写,并基于大家共同的实际经验,描述了 Linux性能监控、评估、测量和分析的方法以及Liux服务器的调优方法。还讨论了对基于ntel硬件平台以及 Linux操作系统运行的商业服务器应用程序的性能加以改进和优化的方法。本书中采用的是简单易懂的渐进式性能调优方法。首先介绍 Linux内核的有关知识然后讨论 Linux服务器、性能工具和调优技术,之后介绍Liux服务器的性能特征,并给出稍加改动就可适用于各种情形的调优示例本书中的论述主要基于两种 Linux版本: Red Hat Enterprise Linux和 Novel SUSE LinuEnterprise Server另外,假定服务器基础硬件为基于 Intel的平台,这是因为这种硬件平台在 Linux社区中得到普遍使用。但 Linux服务器的性能调优机制也很容易移植到其他平台上。服务器的具体应用包括web服务器、文件和打印服务器、数据库服务器、网络管理服务器以及Web应用服务器等。本书中涉及到的相关讨论和示例都基于 Linux24、2.5和26内核本书由5部分构成:“ Linux概述”、“性能分析工具”、“系统调优”、“ Linux服务器应的性能特征”与“调优案例分析”。第Ⅰ部分“ Linux概述”简述了与 Linux安装以及 Linux内核和服务器体系结构相关的问题第Ⅱ部分“性能分析工具”详细介绍了与3个领域相关的性能工具:系统性能和监控Linux服务器性能调整系统跟踪以及基准测试。I部分“系统调优”讨论了性能调优的原则与策略,还讨论了调度器、内存、IO文件系统以及网络和代码的调优机制第Ⅳ部分“ Linux服务器应用的性能特征”描述了服务器应用程序的性能特征,包括影响其性能的潜在因素。还给出了关于Web、文件、数据库和应用程序服务器的讨论V部分“调优案例分析”给出了大量示例来阐释如何将前述各部分中的所有工作加以集成,从而实施一个包含各种场景的调优方案。所提供的案例分析包括调度器、O、文件系统以及网络和商业工作负荷的调优。本书的附录中讨论了许多可调优的内核参数,并阐述了使用 sysctl、proc和ssts接口来调优 Linux内核的方法