文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程CGI/Perl生根于自由的土壤—FastCGI
精品推荐
特别推荐
·在CGI中如何使用cookie的方法
·CGI脚本在WIN2000、WINNT下安装
热点TOP10
·cgic: 为C语言编写CGI的C函数库
·Perl实例:
·在CGI中如何使用cookie的方法
·CGI 安全问题
·怎样一次打印多个文件
·CGI脚本在WIN2000、WINNT下安装
·CGI教程(4)HTML 表单
·cgilib例
·Perl教学 第十二篇 Perl5中的引用之二
·Perl教学 第十二篇 Perl5中的引用之一
·Perl/Tk FAQ - 4. 哪里有Perl/Tk?
·用Perl写出自己的安全工具--初级
·购建ASP、CGI、PHP+MySQL运行环境——服务器运行环境配置全攻略(二)
·跟我学Perl
·访问标准CGI变量
·关于我和刘思平发现的xx(www.xxxxxxx.com)的cgi漏洞
·关于Sendmail和Perl的邮件附件过滤系统
·关于odbc的一个文挡说明
·建立个人服务器脱机调试CGI脚本
·计数器的编写方法

生根于自由的土壤—FastCGI

日期:2007年5月10日 作者: 查看:[大字体 中字体 小字体]


  Linux作为自由软件的代表,给IT行业带来了无限的发展空间。 Linux的透明性,无论给开发人员还是应用人员都有一个充分发挥的余地,在以 Linux系统为作业和平台上,更多的功能正在被不断地开发出来。像Server Push、FastCGI、EPERL、PHP3等许多的新功能,正是在Linux这样自由的土壤中才得以充分的发展。
一个网站的性能,主要表现在以下几个方面:系统响应时间、处理时间、用户等待时间和系统的输出负载,如果考虑经济因素还要加上技术成本。要提高网站的性能,在不改变硬件和网络结构的基础上,那么技术内涵就集中在优秀的程序上。目前来说,Server Push(推技术)和FastCGI两项新技术在完全不增加成本的基础上可以使你的网站达到最佳的性能。本文将详细介绍FastCGI技术。


什么是FastCGI


  要说明一点,如果要使用FastCGI,你应该在以Linux为作业系统的Apache服务上编译FastCGI模块,大家可以到www.fastcgi.com去下载最新的模块,下载的这个模块中会有详细的编译说明。

  多年以来,CGI已经成了服务器端应用程序开发的事实标准,虽然ASP技术的出现使服务器端应用程序开发更方便,但是ASP的局限性使目前仍以Unix/Linux为作业系统并使用Apache为服务程序的绝大多数的服务器拒其于门外,CGI仍然唱着服务器端应用程序开发的重头戏。随着时间的推移,很多服务器在沉重的CGI负担下已经力不从心了。

  还是让我们来看看CGI是如何工作的吧:当客户机对服务器请求CGI应用程序时,服务器建立一个进程来处理用户请求,完成后结束进程。当负载很低时,CGI能很好地工作,但是一个大型的站点上的各种不同类型的请求随时发生,在客户请求的负载很高时,服务器进程的设置和初始化所用的时间就成为网站性能的瓶颈。特别是像和数据库这样的应用程序连接时,初始化所用的时间较长。

  当 FastCGI技术脱颖而出的时候,这个问题就得到了很好的解决。 FastCGI始终处于活动状态为来自服务器的请求提供服务。FastCGI是在服务器上运行一个“活动的程序"来处理服务器对应用程序的请求。FastCGI始终处于活动状态,这正是它的优点,它在处理请求时没有启动新进程和对应用程序初始化的开销。服务器端可以用PERL、C、C++或Java等语言来编写一个基于 FastCGI的应用程序,来不断地处理服务器对应用程序的请求。特别是对于Server Push这样的连接方式,服务器要不间断地响应用户请求,就要不断地让应用程序运行来支持服务器对应用程序的请求。

进入讨论组讨论。

FastCGI的优点


  我们知道,CGI是不能利用内存来作为缓存的,因为它为每一个请求运行一次应用程序,并在完成任务后退出。而 FastCGI可以很有效地利用内存来作缓存,大大地提高了它处理请求的性能。单独的FastCGI应用程序和 CGI相比,也许并没有很好地利用缓存,而一旦FastCGI被设计成多线程,就可以运行并发处理多请求的应用程序进程,这样多线程就可以共享进程内存而访问同一缓存。

  FastCGI的另一大优点是它可以利用分布式网络系统来完成大规模的系统集成。一个网站,要完成用户的交互性要求,至少要具备电子邮件、BBS和聊天室这三大功能,考虑到数据安全性和数据库容量等因素,很少有网站把所有的数据都放在同一主机上。大家知道,由于进程环境原因,服务器只能调用本机的CGI应用程序,这就给多主机的分布式系统带来局限性。而FastCGI应用程序不从进程环境中获取CGI变量,而是在FastCGI 应用程序和服务器之间建立一个“全双工”的连接,传递环境信息、STDIN、STDOUT和STDERR。这样我们就可以把FastCGI应用程序放置在另外的主机上,利用TCP/IP协议与主服务器远程连接。在主服务器对FastCGI应用程序发出请求时可以像本地机一样作出响应。这样做的好处是:

1.可以扩大网路系统的规模

2.可以减轻同一服务器的负载

3.多服务器可共享同一FastCGI应用程序。

进入讨论组讨论。

如何编写FastCGI应用程序

  让我们先来看看FastCGI是如何运行的:

  正如你看到的一样, FastCGI在处理一个请求后继续保持运行,以便在新的请求到来时能立即处理请求。所以 FastCGI程序通常包括初始化代码段和封装程序主体的响应循环段,当然初始化完成后,主体程序不断循环运行等待请求的到来。只有在这个 FastCGI应用程序被系统撤销时循环才结束。

[1] [2] 下一页 




上一篇:用Perl语言进行Socket编程

下一篇:perl连接access数据库

生根于自由的土壤—FastCGI 相关文章:
·生根于自由的土壤—FastCGI
生根于自由的土壤—FastCGI 相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn