悬赏园豆:50
[已关闭问题]
<h4 class="sol">下面是从sun的一个网站上摘录的</h4>
<h4 class="sol">FastCGI 应用程序的结构</h4>
<h4 class="sol">典型的 FastCGI 应用程序具有以下代码结构: </h4>
<p><a></a></p>
<pre>Initialization code
Start of response loop
body of response loop
End of response loop</pre>
<p>初始化代码只在应用程序初始化时运行一次。初始化代码执行的操作通常比较耗时,例如打开数据库或计算表或位图的值。将 CGI 程序转换为 FastCGI 程序的主要任务是将初始化代码与需要针对每个请求运行的代码分开。 </p>
<p>响应循环连续运行,等待客户机请求到达。该循环以对 <tt>FCGI_Accept</tt>(FastCGI 库中的一个例程)的调用开始。<tt>FCGI_Accept</tt> 例程将阻止程序执行,直到客户机请求 FastCGI 应用程序为止。客户机请求到达后,<tt>FCGI_Accept</tt> 将解除阻止并运行一次响应循环主体,然后重新阻止,等待另一个客户机请求。只有在系统管理员或 Web Server 中止 FastCGI 应用程序时,该循环才会终止。</p>
<p>参考:<a href="http://docs.sun.com/app/docs/doc/820-5655/gfssy?l=zh&a=view">http://docs.sun.com/app/docs/doc/820-5655/gfssy?l=zh&a=view</a></p>
<p><a href="http://googledave.javaeye.com/blog/223741">http://googledave.javaeye.com/blog/223741</a> 也有 FastCGI的介绍</p>
<p>所以我认为:</p>
<p><strong><span style="color: #ff0000;">FastCGI 并不是在服务器上做一个配置就可以实现的还要修改程序的结构,如果没有按照FastCGI 的结构编程 但是运行的结果性能应该还是CGI</span></strong></p>
<p>最后,给大家一个fastcgi编程的例子: <br />#!/usr/local/bin/perl <br />use CGI::Fast; </p>
<p>my $counter = 0; </p>
<p>while (my $cgi = new CGI::Fast) { <br />print("Content-type: text/html\n\n"); <br />print("We have served $counter requests"); <br />$counter++; <br />} <br /><br /><strong>但是大家都是这么做的,我不知道是我理解错了还是怎么回事,请高手指教,谢谢。</strong></p>
<!-- BEGIN D8 COMPONENT V.1 -->
问题补充:
但是代码还是普通的结构,所以每次请求还是要初始化所有的资源。估计提高性能唯一的地方就是不用每次都初始化php运行环境。
李锋
|
初学一级
|
园豆:
20
提问于:2009-04-17 11:14