|
Post by account_disabled on Dec 31, 2023 22:54:47 GMT -5
什么是 FastCGI?它是一个让 PHP 作为独立于 Web 服务器的服务运行的协议。 Apache 默认情况下不这样做。每次 Web 服务器收到请求时,它都需要启动 PHP 运行时进程 - 即使对于图像、JavaScript 和 CSS 也是如此。这减少了服务器可以处理的请求数量以及处理请求的速度。 这违背了我们之前看到的现代 WordPress 服务器堆栈的目标之一。堆栈需要保持请求-响应周期时间尽可能短。为每个请求加载 PHP,即使不需要它,也违背了这个目标。因此,如果您使用 Apache,请研究 FastCGI。 /2是您应该了解的另一个重要的 Web 服务器功能。它是 的下一个版本,该协议为我们的整个请求-响应周期提供支持。 在 /2 出现之前,浏览器只能与 Web 服务器建立六个连接。并且每个连接一次只能处理一个请求。因此,实际上,请求-响应周期的上限为。 每个周期六个请求。 这是一个真正的问题。大多数网站在其周期中有数十个请求。开发人员和系统管理员找到了绕过此限制的巧妙方法。 最著名的解决方法之一是将 CSS 和 JavaScript 文件结合起来。在理想情况下,这会将 CSS 和 JavaScript 文件的请求总数 Whatsapp 号码列表 减少到两个:一个用于 JavaScript,一个用于 CSS。 对于 /2 来说这不是必需的。/2 允许每个连接的请求数量不受限制。这允许初始 HTML 响应之后的所有额外请求同时发生。 这对性能有巨大的影响。优化服务器堆栈的许多工作都集中在请求-响应周期上。通过将周期数减少到很少,/2 为我们做了大量的工作。 缓存 现代 WordPress 服务器堆栈中最重要的部分是 缓存。在 WordPress 世界中,我们也将此称为页面缓存。 缓存的目的是缓存对请求。 的响应。这是什么意思? 好吧,让我们回到之前的例子。浏览器发送对 主页的请求modern.wordpress-stack.org,Web 服务器接收该请求并将其转发给 PHP。 这种情况的问题在于 Web 服务器是愚蠢的。它总是将收到的所有请求转发给 PHP — 无论大多数请求是否会生成相同的响应。 这正是访问者未登录时发生的情况。对于 Web 服务器来说,它们都是不同的请求,但它并不关心。它将把它们全部转发给 PHP,PHP 将为它们生成相同的响应。 这太可怕了!正如我们之前所看到的,PHP 是我们请求-响应周期的真正瓶颈。您的浏览器在收到初始主页响应之前无法发送后续请求。默认情况下,我们不能让 Web 服务器将所有内容转发给 PHP。 这就是 缓存的用武之地。它位于 Web 服务器和 PHP 之间。它的工作是检查 Web 服务器收到的每个请求并查。
|
|