明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

生根于自由的土壤-FastCGI之二

[摘要]FastCGI的优点  我们知道,CGI是不能利用内存来作为缓存的,因为它为每一个请求运行一次应用程序,并在完成任务后退出。而 FastCGI可以很有效地利用内存来作缓存,大大地提高了它处理请求的性能。单独的FastCGI应用程序和 CGI相比,也许并没有很好地利用缓存,而一旦FastCGI被设计...
FastCGI的优点


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

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

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

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

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