用于php的Gwan或nginx

时间:2015-06-08 16:55:16

标签: php dynamic nginx hhvm g-wan

我有大型照片文件,并希望快速使用gwan。与nginx fast-cgi相比,是否有任何性能优势。 gwan在第一个字节时是否快速?连接时间更快吗?快节奏的时间?吞吐量是否更快?此外,您可以在gwan上安装hhvm。如果可以的话,你会如何安装hhvm?它会给php带来性能优势(多少)?

2 个答案:

答案 0 :(得分:2)

您将了解nginx或G-WAN是否更适合您的使用案例的唯一方法是实际将它们用于您的网站并对其进行基准测试。像这样的软件的速度在很大程度上取决于你的配置,使用模式,网站结构等,而不是单一的一揽子答案是适当的或有用的。

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

答案 1 :(得分:1)

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完成,这是另一个随G-WAN v4 +提供的线程安全的PHP运行时:

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

技术上可以实施{G}个广告管理系统脚本,就像为G-WAN *.hhvm*.ph7*.java*.scala所做的那样(C#)脚本。这需要写入G-WAN C模块以加载G-WAN内存中的*.cs(这可能需要一些时间,具体取决于Facebook HHVM团队提供的支持级别)。

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