Linux 版 (精华区)
发信人: howdoit (教练让我上场!!!), 信区: Linux
标 题: Linux安装指南,第七部分
发信站: 哈工大紫丁香 (Tue May 18 09:06:06 1999), 转信
《Linux公报》……让Linux更富魅力!
Linux 安装指南, 第七部分
By Ron Jenkins 少敏译
Copyright (C) 1998, 1999 by Ron Jenkins. This work is
provided on an "as is" basis. The author provides no warranty
whatsoever, either express or implied, regarding the work,
including warranties with respect to its merchantability or
fitness for any particular purpose.
The author welcomes corrections and suggestions. He can be
reached by electronic mail at rjenkins@qni.com, or at his
personal homepage: http://www.qni.com/~rjenkins/.
更正和所有作者提到的版本更新都可以在上面所列的网站上找到。
注意:如你所见,我换了一个新ISP。在我将一切安排妥当之前,请
多包涵。我的E-MAIL地址现在可以使用;网页也差不多可用了。有时
间的话,我会加上它的。
特别提醒:由于我接到很多信件,如果你想发送问题或要求解决问
题,请先看我主页列出的建议和提供的信息。
所适用的操作系统:
Slackware version 3.6
RedHat version 5.1
Windows NT Server version 4.0
Windows NT Workstation version 4.0
我仅仅测试了我指定的操作系统。我没有使用MAC和WINDOWS 95,也没
有计划使用WINDOWS 98。如果谁愿意提供这几种操作系统相关说明,
我愿意将它们包含在我的文档中。
第七部分:因特网网关性能调整及技巧
作为上一期文章的继续,我们来看看一些提高因特网网关性能的
办法和技巧,以及一些高级设置选项。
和这个连载的其它部分一样,在一些Linux发布中有些操作和其它
的发布不同。我会象以往一样,当必要时,在不一样的地方分开写。
在这一部分,我将介绍下面这些主题:
提高性能的技术。
改进广域网连接。
改进硬件。
改进软件。
高速缓存选项。
一般技巧。
参考书目。
更多的信息资源。
关于作者。
本文的一些假设:
假设你已看了我前面的连载文章。如果尚未看,当你发现对任何
术语或概念不清楚时,我建议你看看前面的文章。
而且,通篇文章中,对术语广域网(WAN)连接和PPP连接,我会互
换使用。
性能调整和提高概要:
象其它课题一样,提高性能也要分析一下所需花费及其改善程度。
我们在此所尽力 要做到的是用各种技术来提高我们网关的性能,
同时又要使所需费用尽可能的低。
在此所建议的任一种方法都须要折衷考虑。下面的一些建议并不一
定适用于你特别的情形。
这些技术中的一些将会带来真正的,可测得的和显著的改进,而其
它一些则须要长期分析或你能够用的各种统计报告方法的检测才能明
白。精确测量你的网关机器性能的能力是有效调整所必要的。
在我们继续熟悉各项技术的同时,我也会介绍一些合适的测量这些
技术的方法,从而能精确测量改进的程度或百分比。
提高性能的技术:
尽管在此讨论的一些想法和技术能适用于其它类型的机器,例如
文件服务器和工作站,但这篇文章专注于提高网关机器的性能。
下列技术按照对网关机器运作和速度提高的重要性由大到小的顺
序排列:
1. 改进广域网。
2. 改进硬件。
3. 改进软件。
4. 改进高速缓存。
最后,我将讨论一些测量你的网关机的一般技巧以及一些如何改
善方面的办法。
改进广域网连接:
提高你的因特网网关性能最有效的方法是改进你的因特网连接速
度。
在大多数情况下对专线和拨号连接,你可能须要考虑的一些选项
包括:
许多ISP提供“双modem”服务。这是一种将两个单独的modem连
接通过多链接PPP联起来的技术。对性能的提高要比两个单独连
接的总和少一点。
56K modem,不是软件modem,即通常所知的“WinModem”是一个选
择。有一个读者告诉我,外部modem可很好的工作,而内部modem
如果不是上面所说的软件modem的话也能工作得很好。(谢谢
Gerald McGlew直接给了我这一资料)。
在目前,集成服务数字网络(ISDN)线,即通常所知的Basic
Rate Interface(BRI),是显著提高你的网关机性能的最好方法之
一。在我所在的地区,一条无限制使用的ISDN线每月要花费大约
80元,拨号ISDN连接的花费大约是50元,总共是130元(租线费+
ISP费)。
另一种可能是用电缆modem,尽管我知之甚少,因为我所在的地区
还没有它,我不知它的费用。
(译者注:刚好本人在新加坡所使用的就是电缆modem,每月总费
用是35新元,无时间限制。由于这个电缆网络还是试运行阶段,费用
可能偏低。欲知更多详情,请到 http://www.singa.pore.net/ )。
在某些国家的地区,可用数字卫星网络系统。你可有一个清晰 穆肪锻ㄏ蛭
佬牵庑┫低吃俗髁己谩H欢佬橇又皇堑ハ虻 模馕蹲潘皇谴釉冻陶疽
频侥愕C。这叫着下链接 (downlink)。对上链接(uplink)或你对远程的网络请求
,则须要 用不同的访问方法,可以用任何一种,从简单的modem到专线连
接。
测量你的广域网连接的性能-
对此有几种程序工具能帮助你。我用过一点的其中一个程序是叫着
netwatch,用它来监测你的网络和监测你的路由器(你的因特网网关)速
度是很方便的。这个工具在RedHat的普通发布中并没有,但在
Slackware 3.6中有。在任何一个RedHat的镜像站中的/powertools/目
录下有一个老版本的RPM。
对于检查你的广域网连接的实时状态,以及你可能在用的任何压缩选
项的效果,pppstats是很有帮助的。这个工具应该在Slackware和
RedHat的机器中都有。
改进硬件:
要提高你的本地网的访问性能,RAM和磁盘子系统是最重要的。给
你的主板提供足够的高速缓存来处理,在你的服务器和网关机器中装
上尽可能多的你负担得起的RAM。
另一个重要的地方是磁盘子系统。尽管ATA技术有了重大进步,例
如EIDE,UDMA等等,大量连续使用和高性能的标准仍然是小计算机系
统接口(Small Computer Systems Interface),或SCSI器件。
要注意到IDE驱动器是串列访问器件,这意味着对信息的请求必须
“站成一行”等着轮到它。SCSI驱动器是并列访问器件,这意味着多
项请求能够同时被处理。
以前,SCSI器件比起IDE器件价格上要昂贵的多。现在,这个价差
已是微不足道。至少要Ultra (20MBS)驱动器,Ultra Wide (40MBS)驱
动器更好。
一个SCSI子系统由四部分组成:
主适配器,即插在你的计算机中的那张卡,它协调SCSI器件和计
算机间的所有通讯。
SCSI总线,用来进行所有的数据交换,通常是一条40或50芯的电
缆线,取决于主机的速度。
SCSI器件,它包括磁盘机,扫描仪,磁带机和许多其它器件。在
给定总线上可接多少器件也取决于主机的速度,但不象IDE总线
那样限定是四个器件。
端子器件,象我们在十二月讨论到的总线网络一样,SCSI总线在
两端都须要端子,就象10BASE2同轴电缆网络。端子可用到也可
闲置,可接其它器件也可不接,特别是外部SCSI器件。
你可能注意到在此我没有提到U2W器件。就我所知,对这些器件的
支持尚在开发阶段,所以对这些器件我要等一等。此外,它们非常昂
贵。
注意:除非你用到下面所述的高速缓存技术,改进磁盘子系统不
会带来显著的性能提高。
简单的路由和伪装是由内核执行的,运行时只需要很少的磁盘访
问。
然而,如果机器同时被用做文件服务器,WEB服务器和其它用处,
而不是只用做因特网网关,那么它就值得考虑了。
改进软件:
至于改进软件,下面是要考虑的选项:
PPP软件:如果你的发布中没有包括PPP版本2.3.0或更高版本,
你可能须要考虑提升你的PPP软件。这个版本包括对需求拨号选
项的支持,从而不需要diald或其它额外东西。
它也支持更多稳定的用脚本ppp-xx的脚本方法。通常在安装时就
准备好了,只须要很少的编辑就可用了。这些文件通常在 /etc/ppp
和 /usr/sbin中。
数据压缩:对数据压缩的综合性解释超出了本文的范围。在此只
是对压缩方法的简单概要,以及它们是怎样改善你的广域网接口
的交通速度的。
Van Jacobson (VJ)压缩:在大多数PPP Daemon的Linux发
布中,这是缺省设置。
BSD压缩(bsdcom):另一种压缩方案,通常缺省设置是不用
的。你须要装载模块或重新编译内核来包括对它的支持。
Deflate压缩:也是一种压缩方案,缺省设置也是不用的。
任一种或几种压缩方案的联合使用会否提高你的PPP连接的表面性
能,是用还是不用,或是调整这些压缩方案的参数,看看手册中关于
pppd的部分。实际使用它们,用netwatch测量速度的变化,用
pppstats测量压缩的数量。
BIND:The Berkley Internet Name Daemon(BIND),通常叫named,
是负责在因特网中翻译主机名和IP地址,常常是域名服务
(Domain Name Service,即DNS)。(其实,BIND是由许多程序组
成,每个程序完成特定的功能。它最重要的部分是解析器)。
由于运行你自己的充分发展的域名服务器并不实际(当然,除非你
有自己的域名,和给定的IP地址)。运行“只用缓存”的域名服务器是
有帮助的。
当你在因特网中请求一个对象,无论它是一个网页,FTP站,新闻
服务器或任何其它的,你通常是用hostname/path_to_object/的格式
来发请求的。当请求发出去的时候,它首先是交由在你的resolv.conf
文件中定义的域名服务器来处理的。
因为域名服务系统是有层次结构的,就象倒立的金字塔,你的
resolv.conf文件中的DNS机器是底部,它只知道当地机器和它自己的
网络,也就是你的ISP。(更确切地说,你的ISP会知道那些在
root.servers文件中没有的网络,但这和我们在此讨论的无关。)这些
信息包括在所知的“区域"文件中。它们只是简单的ASCII文本文件,
将“区域”或域名的信息用标准的格式列出。
如果请求未被这个机器识别出,它就会到这个金字塔中下一个更
高层次的机器中去查询,直到归根结底。如果必要,查询将到达
“root.servers”中所有的*.com,*.edu,*.net等。
最后,在某一点上,通过广域网中许多的通讯后,你所要求的主
机名将被转成IP地址,送回到你的计算机。
显然,有大量的通讯是在后台进行的,让我们能处理其它事情。
缓存域名服务器所做的只是在一段时间内“记住”这些名字,放
在IP解析方案中,下一次在对特定对象有请求的时候,域名服务器就
可在当地处理这项请求,而无需到当地网络之外。有两个理由说这是
很酷的方法:一是它使域名解析显得快多了,此外它减少了广域网中
的交通量。
不好的一面是这将使每次初始化,或“新的”请求须要长一些的
时间才能返回到你的计算机。正如我前面所说的,事事都要权衡。通
常等待时间是很短的。这个技术差不多总是一个好办法。
Apache: Apache http服务器有一些打开缓存选项的措施,从而
减少广域网中的交通量。更多详情,可看Apache的说明文件。
Squid: 这是一个Web代理/缓存软件配套,有无数的设置,支持
很多功能。要知道Squid更多的详情,以及它是否正好适合你的
特别安装,看看本文末尾的资源部分。
Leafnode: 这是在大多数UNIX安装中使用的,可替代网络新闻传
输协议(Network News Transport Protocol, NNTP)服务器。它
小巧,容易设置,只占用一般因特网新闻(INN)软件所用磁盘空
间的一部分。需要权衡的是它还没有规划好,当它初始从你选的
新闻组中下载文章时会阻碍你的广域网连接。(看看一般技巧中
的cron部分,有些办法可减少这种阻塞。) 要知道Leafnode更多
的详情,以及它是否正好适合你的特别安装,看看本文末尾的资
源部分。
缓存选项:
优点:无论什么时候你都可在当地存文件(例如网页或新闻文
章),或数据对象(例如IP解析中的域名),这让你的网关可在当地
处理你的请求,从而减少你的广域网(或PPP)连接的交通量。这
是一件好事,因为响应你的请求的表面速度极大地提高了,同时
广域网连接可用来处理其它请求和任务。此外,如果你有磁盘空
间,全部下载你所需的新闻也是一个很好的办法。这让你的当地
网络可访问你的新闻组,并把下载(通常叫做抓取或吸取,因为
它吸干了你全部的带宽)保留在当地网中,可关闭广域网。
缺点:然而,在此又需要权衡。这类缓存最适合文件或数据那样
静态的,或不频繁改变的东西。取决于你对缓存服务的有效期参
数的设定(亦即存在你当地机器中的文件或数据,多长时间会被
当作陈旧失效而删除),你可能会发现你自己正在看“昨天的新
闻”。这主要关系到网页缓存,对新闻的影响较少,尽管你看的
文章未被“实时”更新,并可被域名服务器所忽略。
只用缓存域名服务器的设置:BIND是否已装入你的机器中取决于
安装时你的选择。假如你的发布中不包括BIND版本8.1.x或更高
版本,我强烈建议你提升版本。版本4.x.x不在开发了。在版本
8.x.x的一些新加的功能例如动态区域传输,简化的设置使它值
得你去提升。资源部分有因特网联盟(ISC)的网址,他们开发和
维护BIND。
Slackware 3.6: Slackware发布将要求你做一点工作才能使用域
名服务器。这真是一件好事情,因为通过你自己设置,你就能较好地
明白这个过程是如何工作的,当错误产生时就知道如何诊断和纠错。
首先,你需要一个叫做/var/named的目录,如果还没有,建一
个。
其次,你需要一个包括列有全部根服务器的文件和一个有你当地
信息的文件,即“区域”文件。这些文件的名字应该是root.cache和
相应的127.0.0。这两个文件的例子可在DNS-HOWTO中,或在资源部分
的书中找到。
最后,你需要一个named.conf文件,它将启动选项传给BIND。对
缓存域名服务器而言,这个文件可以象下面所示的:
// 高速缓存域名服务器的设置文件
option{
directory "var/named";
// 如果你是在防火墙之后而不能使之运行,放开下面这一行
// query-source port 53;
};
zone "." {
type hint;
file "root.cache";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0"
};
// 设置文件结束
那些熟悉C/C++程序语言的人会注意到named.conf文件有相似的句法。
简要地说,第一部分是说明工作目录,第二部分告诉解析器到哪里去
找根服务器文件。最后一部分是“区域”文件。这些文件应该在/etc
目录中。
最后,编辑你网关机器上的resolv.conf文件,在域名解析时,先指向
自己,然后才是你的ISP:
search home.net
nameserver 127.0.0.1
nameserver <your ISP primary DNS>
nameserver <your ISP secondary DNS>
然后结束时,为了域名解析将所有你的home.net的客户机指向你的网
关机。
search home.net
nameserver 192.168.1.1
RedHat 5.x: 当你安装RPM,它将自动安装一个高速缓存服务器,如果
没有,就要看看上面所要求的文件和适当的named.conf例子。
一般技巧:
深夜的cron技巧:cron(定时计chronometer的简写)是一个用户
友好的守护神。这个守护神可在指定的日期时间内自动执行脚本
程序和命令。对自动完成许多UNIX系统所特有的辛苦的任务这是
很方便的。例如整理记录文件,ftp的任务,或者新闻和高速缓
存服务器的功能。这个信息是在叫做crontab的文件中。在你的
系统中有否更多的这些文件取决于你安装时的设置和你有多少用
户。这些文件在/var/spool/cron/crontab目录中。
使用cron的自动功能:在crontab文件中编辑或增加输入用这个
命令:crontab -e<回车>。打开文件后,用这个格式来输入:<
分><小时><日><周><月>命令。星号*表示空输入。举个例子,你
可能计划在凌晨你的系统中有最少的用户时用你的leafnode下载
新闻,以及其它缓存下载。在每天凌晨4:00am开始新闻下载(抓
取)的输入是: 0 4 * * * /usr/sbin/fetch
用cron执行脚本:有时候你要执行一系列的命令,或将很多选项
传给一些命令,以及在命令行一遍又一遍地输入命令。执行内壳
程序只不过是执行一系列命令。这对很多事情是很方便的。的
确,unicom文件从上个月已是内壳脚本。举个例子,每个小时你
要去除wtmp文件并建一个新的文件,这个脚本程序可以是:
#!/bin/sh #所有的脚本用你所喜欢的内壳
rm -f /var/log/wtmp #去除旧文件
touch /var/log/wtmp #建新文件
echo "wtmp cleaned" > /var/log/wtmp.log #让我知道已执行了这个
脚本
可用你的Linux系统中的任何文本编辑器来生成内壳脚本,让我们
称这个脚本文件为wtmpclean。要让它在系统中可执行,只需用chmod
命令: chmod +x wtmpclean
要让cron每个小时都跑这个脚本,你的crontab输入可以是: 0 *
* * * /usr/sbin/wtmpclean
浏览器缓存设定:Netscape有一个功能是让你调整浏览器的磁盘
和内存的大小和行为。这是用磁盘和内存保留你最近要求浏览的
对象,如html页,.gif和.jpg文件等等。要调整这些设置,从
Netscape的菜单栏选择Edit/Preferences/Advanced/Cache,取决
于你的内存和磁盘空间的限制,你可增加或减少磁盘和内存缓存
的大小,也可选择多长时间你的浏览器应该通过广域网把你的缓
存中的文件与源文件进行比较。你最好设定为一段时间一次,除
非你在进行股票交易和其它需要频繁更新的事情。
挤轧你的modem:大多数modem都有一些额外的功能可能会提高你
的modem的性能。查看一下制造商的手册和实验。
改善数据线状态:只需一点额外的月费,你就可让电话公司改善
或优化你的线路用于数据和声音通讯。这可能对你无用,通常这
只有当在你乡村地区或一些线路质量退化的地区时才有帮助。
参考书目:
以前几期的文章:
第4,5和第6部分。
其他:
Pppd man pages
Cron man pages
Leafnode man pages
PPP HOW-TO
SERIAL HOW-TO
DNS-HOWTO
更多的信息资源:
Web 资源:
http://www.redhat.com/
http://www.slackware.com/
http://metalab.unc.edu/LDP/
http://www.linuxresources.com/
http://metalab.unc.edu/
http://www.isc.org/
http://www.apache.org/
Squid 软件:
http://squid.nlanr.net/
Leafnode 软件:
http://wpxx02.toxi.uni-wuerzburg.de/~krasel/leafnode.html
Netwatch 软件:
ftp://ftp.slctech.org/pub/
新闻组:
alt.unix.wizards
comp.security.unix
comp.unix.admin
alt.os.linux.slackware
comp.os.linux.networking
comp.os.linux.hardware
linux.redhat.misc
印刷材料:
DNS和BIND(The Cricket Book)- 2nd edition(O'Reilly
& Associates)
和通常一样,这个月我已写了很多,下个月找找高级服务方面的资
料。
以前的“Linux 安装指南'' 的文章
Linux Installation Primer #1, September 1998
Linux Installation Primer #2, October 1998
Linux Installation Primer #3, November 1998
Linux Installation Primer #4, December 1998
Linux Installation Primer #5, January 1999
Linux Installation Primer #6, February 1999
版权所有 (C) 1999 NJLUG
出版于第38期《Linux公报》1999年3月 中文版第五期
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:210.341毫秒