切换到HipHop而不是XCache是否有意义?
HipHop是否准备好迎接黄金时段,还是应该等几个月才能实施?
编辑:我们很有兴趣在运行vBulletin的服务器上测试配置.
让我澄清一下你对Hiphop和Xcache的误解.XCache的工作原理是将Opcode缓存添加到ZEND的PHP实现(如APC和朋友),而Facebook的HipHop允许将PHP代码转换为C++代码,然后使用g ++编译.由于HipHop不依赖于Zend解释器(并且甚至不使用php操作码,因为它在转换为C++后被编译为字节码),因此无法使用HipHop运行XCache.
现在回答你的问题,HipHop正在被用于主持大量Facebook的流量.如果不接近稳定,Facebook不会发布这个项目,但由于它很新,我仍然会谨慎行事.HipHop不仅仅是旧Zend Interpreter的补丁,它是一种完全不同的运行PHP代码的方式,可能会有一些错误.
Facebook确保Hiphop在切换到它之前工作的一件事是他们能够在他们的网站上对每个可能的请求进行非常严格的单元测试.这样,如果Hiphop的输出与普通的Zend PHP不同,他们会返回并调试更多,直到所有"为他们工作".仅仅因为它在Facebook代码库上"有效"并不能证明它对你的代码有效.如果您决定切换到HipHop,请务必进行测试.
编辑:
HHVM(HPHP的新VM版本)现在可以eval
和create_function
.出于所有/最有意义的原因,它们应该是相同的.
有一些与HipHop不兼容的东西.他们删除了eval
和create_function
功能.他们现在也只支持PHP 5.2.x,但他们计划立即增加对5.3"的支持".
我喜欢HipHop的想法,所以不要误解我的意思,但要记住:HipHop并不适合所有人.来自Sebastian Bergmann:
它不是99.9%的PHP部署面临的问题的解决方案
除非你有Facebook比例流量,而你的瓶颈是CPU或内存使用量,否则你不太可能看到很多好处(与xcache,apc等相比).数据库和文件系统访问仍然是你的杀手.