<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><span id="result_box" class="" lang="en"><span style="color: rgb(0, 0, 
0);" title="">After careful and extensive testing, &nbsp;the performance of php-dws and php-cgi is almost the same,&nbsp;</span></span></div><div><span id="result_box" class="" lang="en"><span style="color: rgb(0, 0, 
0);" title=""><span id="result_box" class="" lang="en"><span style="" title="">Only for large post requests, php-dws slightly better than php-cgi .</span></span></span></span></div><div><br></div><div><br></div><div><span id="result_box" class="" lang="en"><span style="color: rgb(0, 0, 
0);" title=""><span id="result_box" class="" lang="en"><span style="" title="">However, &nbsp;The&nbsp;</span></span></span></span>main features of php-dws is that response data returned directly to user browser.</div><div>In some special case,&nbsp;We may need to deal with long time requests or&nbsp;sub-output data according to demand</div><div>such as COMET application,&nbsp;Then you can consider using php-dws!</div><div><br></div><div>Thanks all.</div><div><br></div><br><div><div>ÔÚ 2010-10-9£¬ÏÂÎç4:47£¬ hightman Ð´µÀ£º</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">PHP-DWS is <span id="result_box" class="short_text" lang="en"><span style="color: 
rgb(0, 0, 0);" title="">the abbreviation for "PHP Direct Web Server". &nbsp;It works much like fastcgi server with nginx,&nbsp;</span></span><div><span id="result_box" class="short_text" lang="en"><span style="color: 
rgb(0, 0, 0);" title=""><br></span></span></div><div><span id="result_box" class="short_text" lang="en"><span style="color: 
rgb(0, 0, 0);" title="">But nginx pass the request header of HTTP and socket file description of this connection to it</span></span>&nbsp;via&nbsp;</div><div>calling sendmsg(), and then PHP-dws read request body data from http connection , send&nbsp;response&nbsp;</div><div>data to&nbsp;the http connection directly.</div><div><br></div><div><span id="result_box" class="" lang="en"><span style="" title="">I 
simply draw their work in the following flow diagram£º</span></span></div><div><span id="result_box" class="" lang="en"><span style="" title=""><br></span></span></div><div><span id="result_box" class="" lang="en"><span style="" title=""><code>&nbsp;&nbsp; &nbsp; &nbsp;[PHP-CGI]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;============<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i)request header+body&nbsp;&nbsp;&nbsp;&nbsp; ii)request header+body<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +~~~~&gt;~~~~&gt;~~~~&gt;~~~+&nbsp;&nbsp;&nbsp;&nbsp; 
+~~~~~&gt;~~~~~&gt;~~~~&gt;~~~~~+<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/|\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\|/&nbsp;&nbsp; / \&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\|/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebVisitor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Web Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FastCGIServer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(user)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(nginx)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(php-cgi)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/|\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ /&nbsp;&nbsp; /|\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ /<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +~~~&lt;~~~~&lt;~~~~&lt;~~~~+&nbsp;&nbsp;&nbsp;&nbsp; 
+~~~~~&lt;~~~~~&lt;~~~~&lt;~~~~~+<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv)response header+body&nbsp;&nbsp;&nbsp;&nbsp;iii)response header+body</code></span></span></div><div><span id="result_box" class="" lang="en"><span style="" title=""><code><br></code></span></span></div><div><span id="result_box" class="" lang="en"><span style="" title=""><code>&nbsp;&nbsp; &nbsp; &nbsp;[PHP-DWS]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;============</code></span></span></div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-style-span" style="font-family: monospace; ">i)request header&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ii)request header</span></div><code>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +~~~~&gt;~~~~&gt;~~~~&gt;~~~+&nbsp;&nbsp;&nbsp;&nbsp; 
+~~~~~&gt;~~~~~&gt;~~~~&gt;~~~~~+<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/|\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\|/&nbsp;&nbsp; / \&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\|/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebVisitor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Web Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWSCGI Server<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(user)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(nginx)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (php-dws)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /|\&nbsp;&nbsp;\ /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /|\&nbsp;&nbsp; \ /<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; |<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;+~~~~~~~~&gt;~~~~~~~~~~~~&gt;~~~~~~~~~~~~&gt;~~~~~~~~+&nbsp;&nbsp;&nbsp;&nbsp; |<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; iii) request body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+~~~~~~~~~~~~~&lt;~~~~~~~~~~~&lt;~~~~~~~~~~~~~&lt;~~~~~~~~~~~~~~+&nbsp;&nbsp;
 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iv)response header+body</code><div><font class="Apple-style-span" face="monospace"><br></font></div><div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: 'Heiti SC'; ">I think that php-dws will save much more IO operator and become more e</span></font>fficient.</div><div><span id="result_box" class="short_text" lang="en"><span style="" title="">In addition, we can send partial data to browser during script running, i.e:</span></span></div><div><span id="result_box" class="short_text" lang="en"><span title=""><a href="http://root.twomice.net/dws-test/sleep.phpd">http://root.twomice.net/dws-test/sleep.phpd</a></span></span></div><div><br></div><div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: 'Heiti SC'; "></span></font></div><div><font class="Apple-style-span" face="monospace"><span class="Apple-style-span" style="font-family: 'Heiti SC'; ">Welcome to give me some suggestions or comments!&nbsp;</span></font></div><div><span class="Apple-style-span" style="font-family: monospace; ">&nbsp;&nbsp;</span></div><div><div><br></div></div></div>_______________________________________________<br>nginx mailing list<br><a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>http://nginx.org/mailman/listinfo/nginx<br></blockquote></div><br></body></html>