本小节覆盖了各种性能调整的话题。 它尝试在系统管理员的到系统程序员的跨度内以不同角度探讨系统调整。性能调整就其本身来说是一门历史悠久的艺术。 调整某物是想让它更有效地运行, 无论调整对象是一台基于NetBSD技术的服务器或一台吸尘器, 调整的目的都是要提高什么, 也无论是否已经采取了某种方式, 它是怎样工作的或者它是怎样被组合的.
18.1.1.1. 什么是性能调整?
一个来自10000英尺外的观点几乎确定了我们做的所有的工作,这就叫工作定向, 这同样与一个NetBSD系统有关系。 当系统启动, 它自动开始执行多个任务。 而用户登录后, 他们通常要完成各式各样的任务。 无论如何在本文的范畴内,性能调整就是指如何提高NetBSD系统的性能。
说道"调整",可能有些人根深蒂固地认为就是提高性能和减小内核体积, 但管理员提升系统效率并非局限于此。 我们的目标是, 性能调整意味着: 让一个NetBSD系统运行在最佳状态。
这涉及了很多方面, 并非仅是提高速度。 这方面的一个好例子就是格式化文件系统时使用的参数, 在一个有大量小文件的系统上(就好比象一个源代码库), 一个管理员可能需要通过减小它们的尺寸(好比1024k以下)来增加索引节点数量. 这种情况下索引节点数量增加了, 但是, 它使管理员得以摆脱那些讨厌的索引节点信息, 这最终使系统更有效率。
通常的调整围绕着发现和消除瓶颈。 多数情况下这些瓶颈是假的,例如,一个Mozilla的发行版不能很好地处理java applets,这可能引起Mozilla开始蹂躏CPU,特别是applets做的不好时。当进程无法摆脱这种状况并消耗了大量的CPU时,一般你能做的就是杀掉它。这是有实例的,但是如果解决瓶颈花费了太长的时间,例如,假设一台rsync服务器变得越来越臃肿。慢慢地,性能开始下降而管理员不得不采取某种措施让系统提速,这种情况相对来说就像CPU即刻飙升的紧急情况。
18.1.1.2. 什么时候调整?
多数NetBSD用户很少需要调整系统。 GENERIC内核可以运行的很好,并且系统的布局/配置也一样。同理, 一个pragma永远知道怎样调整系统。 最常见的是调整导致一个突然的瓶颈问题(这种情况通常是随机出现) 或者性能逐渐下降。 从某种意义上说所有人在某些特定条件下都会碰到这种情况, 一个正在吃CPU的进程就像逐渐增加的内存分页一样是一个瓶颈。 所以, 问题不在什么时候调整就像不在什么时候学习调整一样。
用户的组后一次调整是如果你可以用一个预防性的方式调整 (而且你认为你需要), 那就调整吧。一个这方面的例子是:一个系统需要能重新启动的快一点。 我不想等那样长的时间,我做了所有我能想起的事情 —— 精简内核并且确认删除的选项确实不需要运行;我甚至删除了一些设备驱动程序,尽管我的计算机上有这些设备,但是我永远也不会用它们(lp). 结果是系统启动时间减少了将近2/3。从长远的角度看,在它变成一个问题之前调整它是一个明智之举。
18.1.1.3. 这些文档不涉及的内容
在我结束这个介绍前, 我认为声明一下这些文档不包含的内容是很重要的。这篇指南仅与核心的NetBSD系统有关。 换句话说, 它将不涉及如何调整 web 服务器的配置使它更好地运行; 但是, 它会提到怎样调整NetBSD使它成为一台更好的 web 服务器。 它包含的逻辑很简单: web 服务器, 数据库软件等属于第三方的软件并几乎没有界限,我可能会跑题说一些不应用在NetBSD系统的细节。不管怎么说,几乎所有的第三方软件全有它们自己的有关性能调整文档说明。
18.1.1.4. 如何举例
因为有丰富详尽的用户手册内容, 我们这里只在例子中讨论选项和参数的使用。有些情况下, 我们的仅讨论部分细节,因为可讨论的内容实在太多了, 我们在这里不准备详细讨论内核中的每个设备驱动程序的选项, 但是, 我们在例子中会讨论特定系统是否需要某个特定的设备驱动程序。用户在不同环境下对调整和性能的要求因人而异,这个指南里没有一成不变的定律 , 相反, 它是让读者了解这些可用工具的作用.
《NetBSD指南-18.1.1.概述》
版主: lionux
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客