我希望有人可以帮助我理解一些事情。如果我正在访问位于地球另一端的网站,PHP 会报告大约 300 毫秒的页面执行时间(通过使用 进行简单的数学运算microtime(true)
)。如果我在服务器上本地访问同一个网站,PHP 会报告大约 20 毫秒的页面执行时间。似乎网络延迟是 PHP 执行时间的一个因素,这让我感到惊讶,因为我认为整个页面都是由 PHP 渲染并返回到 apache 以立即发送给客户端(因此,脚本执行时间将是相同的,不分产地)。
阿帕奇、PHP5 (mod_php)、CentOS 5。
我是否假设 PHP 在继续执行之前以某种方式等待输出发送到浏览器?我感觉这可能涉及一些输出缓冲因素,但我真的不确定。我通过 php.ini 打开了输出缓冲。
我的问题是:发生了什么,我的网络延迟如何影响 PHP 的执行?
我希望这是提出此类问题的合适场所。我尝试搜索 SO & google,但没有找到任何相关的东西。
编辑我不是在谈论测量网页从服务器传输到客户端所需的时间。当我从本地机器下载页面的 HTML 源代码时,我直截了当地谈论 PHP 如何计算它的执行速度更快。相同的服务器,相同的页面,一致的结果。我curl http://example.com | grep milliseconds
在这两个位置都使用来查看服务器报告的 PHP 执行时间。