php 的 Gwan 或 nginx

Gwan or nginx for php

我的照片文件很大,想使用 gwan,因为它速度很快。与 nginx fast-cgi 相比有什么性能优势吗? gwan 是否在 timd 时快到第一个字节?连接时间是否更快?计算时间是否更快?吞吐量更快吗?此外,您可以在 gwan 上安装 hhvm 吗?如果可以,您将如何安装 hhvm?它会给 php(多少)带来性能优势吗?

您要知道 nginx 或 G-WAN 是否更适合您的用例的唯一方法是实际将它们用于您的站点并对其进行基准测试。像这样的软件的速度在很大程度上取决于您的配置、使用模式、站点结构等,并不是一个笼统的答案是合适或有用的。

HHVM 可以在任何可以为 FastCGI 请求提供服务的网络服务器后面使用。快速 google 搜索表明 G-WAN 可能不支持 FastCGI,而是有自己的自定义脚本接口?如果是这样,可能仍然可以使用该接口来集成 HHVM,尽管它可能需要一些工作并且不受官方支持。

FasCGI 的缺点是它本身就是一个后端服务器:不是只有 G-WAN 作为服务器,当 G-WAN 向它发送请求时,您会受到后端服务器速度的限制,并且等待回复:

            Internet                   LAN
[clients] ============ [G-WAN] ----------------- [FastCGI + PHP]
          latency1     latency2     latency3      latency4  latency5

在这种情况下,FastCGI 服务器的延迟和额外的 LAN 延迟会减慢 G-WAN。

一种更有效的方法是加载 G-WAN 和 运行 HHVM 本身,这已通过 PH7 完成,另一个线程安全 PHP 运行G-WAN v4+ 提供的时间:

            Internet
[clients] ============ [G-WAN + PHP]
          latency1     latency2 latency3 

技术上可以实现 *.hhvm G-WAN 脚本,就像为 G-WAN *.ph7*.java*.scala 和 [=20 所做的那样=] (C#) 脚本。这需要编写一个 G-WAN C 模块来加载 G-WAN 内存空间中的 HHVM(这可能需要一些时间,具体取决于 Facebook HHVM 团队提供的支持级别)。

也可以使用 G-WAN CGI 接口调用 HHVM 作为本地进程(就像 G-WAN 被迫为线程不安全的 Zend PHP 做的那样)。但是性能方面的结果在很大程度上取决于 HHVM 可执行文件的初始化和处理时间(更不用说额外的 per-request 开销)。第三种方式实施起来更简单,但必然比本地 HHVM G-WAN 模块慢。