Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

AOL Server 简介

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  看到 AOL 这三个英文字母,有没有让你联想起哪家公司呢?相信很多人直觉就想到美国在线(America Online)。是的!就是这家美国最大的ISP 。AOL Server 正是他们公司的产品,一个 Open-Source,高效能,高承载能力,稳定且支援 Multithread 的重量级 Web Server。而 AOL 自身的 Homepage(www.aol.com) 所在的主机正是 AOL Server !

  缘起

  在 Tcl 的讨论区上贴了一篇简介 Tcllib 的文章,有网友建议我写写 Tcllib 的使用心得。可是觉得光是写写 Tcllib 本身的应用好像不是很有意思,由於 Tcllib 本身有提供一些 Mime 的相关函式,相当的好用,但是光是说明这些函式的使用,也不是很有意思。刚好,之前想用 Tcl 来写个 WebMail 的程序,便想利用这个程序来说明 Tcllib 的一些功能。而使用 Tcl 来写 Web 程序最佳的方法就是在 AOL Server 上面开发,所以便决定先写篇文章来介绍一下 AOL Server,然後再来进行 Tcllib 的使用心得。

  这正是这篇文章诞生的缘由!不过我正在烦恼下一篇文章究竟应该先写 Tcllib 的使用心得,还是 AOL Server 的安装,还是Tcl如何在AOL Servre上面使用呢?:(

  AOL Server是什麽?

  看到 AOL 这三个英文字母,有没有让你联想起哪家公司呢?相信很多人直觉就想到美国在线(America Online)。是的!就是这家美国最大的ISP 。AOL Server正是他们公司的产品之一。AOL Server 不是种主机,不是个操作系统,不是个数据库系统,它是一个 Web Server。就像是 Apache Server 一样! 而 AOL 自身的 Homepage(www.aol.com) 所在的主机上,所架设 Web Server不是 Apache,也不是 IIS,正是本文要介绍的 AOL Server,一个 Open-Source(版权为MOZILLA PUBLIC LICENSE),高效能,高承载能力,稳定且支援 Multithread 的重量级 Web Server。

  AOL 这麽个超大型的 ISP,它的客户数量自然不在话下,大家可以想想它的首页每天会有多少人去存取阿!一旦,它的首页挂了,那个损失可能可以媲美台湾停电时,晶圆厂的损失。由此可见 AOL Server 有多麽稳定了!想知道 AOL Server 可以承受多大的负载而不致crash吗?根据AOL自身的经验这个答案是28,000 hits/sec

  是的!!每秒二万八千个hits!

  AOL Server由来

  其实,AOL Server 原先并非由 AOL 所发展。所以他开始时,也不是叫 AOL Server。大约在 1994 年时,在美国加州的圣芭芭拉市,两位 Unix 的高手,Jim Davidson 及 Doug McKee, 设计了一个 Web 出版系统,其中一部分是一个所见即所得的网页编辑程序,叫做 NaviPress。而他们所成立的 NaviSoft 公司,希望更进一步的提供整个站点的管理功能,而不单单仅是网页的撰写。他们希望让制作好的网页可以很方便的就放到站点上面,所以他们就发展了自己的Web Server,名称就是 Navi Server。这是一个非常成功的产品,还赢得当时许多著名杂的奖项。後来,NaviSoft被AOL 给买了下来,这个Navi Server 自然就成了 AOL 的产品之一,然後就更名为 AOL Server 棉!而AOL 也不藏私,让 AOL Server 继续以 Open Source 的形式释出来造福群众。而他们所采用的版权则是依照 Mozilla Public License。

  AOL Server 的特点

  前面已经有约略提过,AOL Server 的效能与稳定性。这两项优点其实是源自於他当初设计的理念!在 AOL Server 本身的架构上,特别有针对一些传统Web Server会遇到的问题经过修改。一般网页可以分为两类,静态网页与动态网页。所谓的静态网页,就是一般以档案方式存在的网页,当 client 端,要求的是一个静态网页时,Server 仅需将该网页传回给 client 即可。动态网页则是需要 Server 进行一些特殊的动作,可能是去执行一个执行档,或是直接去存取数据库,也可能是启动 Server 内建的机制来完成 client 的需求。早期最常见的技术就是 CGI,SSI,後来就演变成为 Server Scripting,如内嵌的 Perl module,PHP,Microsoft 的 ASP 等。而且,越来越多的应用都需要让 Server 能以动态方式存取数据库的内容来产生网页。早期的 CGI 方式产生的动态网页,有个为人诟病的地方,就是每个 CGI 程序都是独立的process ,所以一旦 client 的 hit 数量变多,process 的建立与删除就会变得十分频繁。这对操作系统来说,可不是件好事。甚至可说是对操作系统稳定性的严苛测试(笔者确实遇过有公司直接问哪个操作系统与Web Server 的搭配可以同时承受最多数目的 CGI request)。所以,我们可以想见问题就是在於大量动态页面的 request 对 Server所造成的影响。特别是每个动态页面又有各自存取数据库的动作。不幸的是,这正是绝大多数商业站点的要作的事情。AOL Server 在这一方面的设计,主要是它有自己内建的 Script language 。并且提供 pool 的方式与数据库进行连结。内建 Script language 的好处在於不需要启动额外的 process 来执行程序,直接启动内建的 Script Interpreter 就可以进行动态网页的产生。这对於系统的稳定还有网页产生的效能上有非常大的帮助。pool 的优点与内建 script language 其实有异曲同工之妙。因为建立 database connection 也是操作系统的一大负担。甚至比建立 process 的负担还要来的大,而传统的方式则是每个 CGI程序内部都需要独立的 database connection 来进行数据库存取。pool 的功能就是将需要进行的 database 存取工作通通收集在一起,然後透过之前已经建立好固定数目的 database connection 来进行存取。所以无论程序或是request 的数目有多少,database connection 的数量永远都不会改变,也不需要一再重复开启与关闭的动作。这对於服务器或是 database 而言,都减轻了许多的工作负担。另外,AOL Server 还有一些其它的优点,像是容易安装,也可安装其它的 script language,可以发展嵌入的 module 等等。这些已经是目前 Web Server 的标准配备了,不再赘述。

  内嵌 Tcl script language

  前面说到 AOL Server 有内嵌式的 script language。这个 language 不是别人,正是鼎鼎大名的 Tcl。一方面是因为 Tcl 也是 Open source 的,另一方面是因为 Tcl 极为容易嵌入在别的软件内,特别是它的直译器效能很好,而且内建的 I/O 机制效能奇高。所以被当初的 NaviSoft 相中,将其加入至Navi Server 中,而成为预设的 Script Language。这对於像我这些 Tcl/Tk 的爱好者而言,AOL Server 可以说是我们的天堂阿!因为,连 AOL Server 的 config 档也是使用 Tcl 语言。所以对於一个 Tcl 的爱好者而言,要学会 AOL Server 根本就不必费什麽功夫。AOL Server 也不仅将 Tcl 嵌入而已,他还做了一些补强,特别是 AOL Server 提供了一种特殊的网页格式,称为 AOLserver Dynamic Pages (ADPs)。原则上,ADPs 与 PHP 及 ASP 的格式十分相似,差别就在於 ADPs 使用的 Tcl 语法。他们使用的标签符号也都是〈% ... %〉 ,是不是很类似呢?

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux环境下mp3播放程序简介   下一篇:ORACLE数据库入门

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号