将Proxygen或NGINX+FastCGI本地套接字与HHVM一起使用是否更具性能


Is it more performant to use Proxygen or NGINX + FastCGI local socket with HHVM?

HHVM有一个内置的服务器Proxygen。您可以使用Proxygen服务器运行HHVM,也可以在FastCGI模式下运行,使用另一个服务器(如nginx或apache)来处理web请求。

我找不到任何基准或权威来源来说明这两个选项中哪一个表现最好。显然,我可以提供两个系统,在不同的并发组合下手动测试各种负载,并建立一个基准,但如果有人已经做过这样的比较,我宁愿避免这项工作。

有人知道从纯粹的性能角度来看哪一个是更好的选择吗?

我没有做任何测量。但从理论上讲,proxygen服务器的性能会更高,因为它与php工作线程在同一个进程中运行,从而避免了一些进程间通信的开销。Proxygen服务器在Facebook上使用,并努力使其更加可靠,例如,当JIT编译器没有完全预热时的保护机制。然而,这些对其他用户来说应该没有多大意义。如果您已经有了自己喜欢的apache/nginx设置,并且不想花时间调整另一个http服务器的设置,请使用FastCGI。