生根于自由的土壤-FastCGI之一
发表时间:2024-02-08 来源:明辉站整理相关软件相关文章人气:
[摘要]Linux作为自由软件的代表,给IT行业带来了无限的发展空间。 Linux的透明性,无论给开发人员还是应用人员都有一个充分发挥的余地,在以 Linux系统为作业和平台上,更多的功能正在被不断地开发出来。像Server Push、FastCGI、EPERL、PHP3等许多的新功能,正是在Linux这...
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这样的连接方式,服务器要不间断地响应用户请求,就要不断地让应用程序运行来支持服务器对应用程序的请求。