荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (打倒台独分子!!!), 信区: Internet
标  题: [转载] 基于网关的分布式WWW系统构建(1)(转寄)
发信站: BBS 荔园晨风站 (Thu Mar 23 09:34:43 2000), 转信

【 以下文字转载自 zzt 的信箱 】
【 原文由 zhuzutao.bbs@smth.org 所发表 】
发信人: xuzq (奔腾), 信区: Internet
标  题: 基于网关的分布式WWW系统构建(1)
发信站: BBS 水木清华站 (Thu Sep  9 09:21:37 1999)

基于网关的分布式WWW系统构建

摘要:针对现有的单机集中式Web服务器在处理大量客户
请求时的弱点,本文介绍利用分布式环境来分担系统负载
的实现方法。为此专门编写网关服务程序负责接收客户请
求,并依据当前系统中各台成员计算机的负载情况来分配
客户请求。测试结果显示,在访问量高峰期,分布式WWW
系统的响应速度比单机系统有很大提高。

WWW 服务器的工作模式

现在大多数的WWW 服务器都采用预先派生的同时服务模式
(preforked concurrent server),即在服务程序初次启
动的时候,派生出一定数目的子进程(都是服务程序自身的
副本),这些进程平时处于睡眠状态,当有客户的请求到来
时,一些或者全部(视请求的数目而定)的进程被唤醒,同
时处理这些请求。当现有的进程数目不能满足全部的客户请
求时,WWW 服务器会再派生出一些子进程来处理这些请求。
这样做的目的是为了缩短对每个客户请求的响应时间,提高
WWW 服务器的整体性能。为了避免过多的子进程占用大量的
系统资源,一般同时存在的子进程数目会有一个上限,而且
当空闲的子进程数目达到某个预先设定的值时,WWW 服务器
会杀掉一些子进程,只维持适当数目的子进程来处理当前或
预期的客户请求。
但是在单一一台机器上同时存在很多的进程,会消耗大量的
系统资源。对于一个繁忙的WWW站点来说,尤为如此。系统资
源(比如:CPU时间,内存数量)缺乏时,会大大降低响应时
间,给用户的感觉就是浏览速度变慢。要提高WWW站点的响应
速度,提高单机系统的性能,是解决问题的一条途径,但是
当前的高性能服务器系统的价格惊人,而且计算机系统的更
新换代速度非常快,价格也下降得非常迅速,往往几年以后
对整个系统的投资就不值钱了。而当前个人电脑(PC)的发
展非常迅速,性能逐渐向高端服务器产品靠拢,但是价格却
不到服务器产品的十分之一。

分布式环境中的WWW系统

现在比较流行的做法是利用廉价的高档PC机组成分布式的工
作环境,来承担高档服务器才能完成的任务。具体到WWW 服
务器来分析,比如,原来在高峰时期WWW 服务器要派生出150
(Apache HTTPD的缺省上限)个子进程来同时处理客户请求,
现在假定使用5台PC机组成的分布式环境完成这一任务,将客
户请求平均分配到每一台机器上,那么每台计算机只要维持30
个子进程就可以应付高峰时期的访问量。相比之下,30个子进
程占用的系统资源要远远低于150个子进程。客户访问的高峰时
期,每台计算机的响应速度会大大高于单机系统。这就是分布
式WWW系统的原始构想。
针对当前WWW 服务器的典型工作方式,采用分布式的计算机环
境来取代单机、集中方式的硬件平台,是提高WWW站点响应速
度的另一条途径。传统的WWW 服务器只能运行在一台计算机上,
还没有出现能够直接在分布式环境中运行的版本。要想利用分
布式环境来提高WWW站点的响应速度,使现有的WWW 服务器能够
利用分布式环境的资源优势,现在有两种方法可以实现。最简
单的方法是采用旋转木马式的域名系统(round-robin DNS),
它对每一次针对WWW站点的名字解析请求,都回应以分布式环境
中不同机器的IP地址,这样客户可以直接与不同的计算机连接,
从而把整个站点的负担,均匀分配给许多机器,其缺点是不知
道各个成员计算机的负载情况,很容易产生超载现象。另一种
是编写WWW的网关程序,该程序集中收集所有的客户请求,并
且依据当前分布式环境中各个机器的负载状况,合理分配每个
请求给负载最轻的机器。

--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 210.73.64.229]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.11]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店