2010-03-18 19 views
6

切換到HipHop而不是XCache會有意義嗎?HipHop而不是XCache?

HipHop是否準備好黃金時段,還是應該在實施之前等幾個月?

編輯:我們很感興趣的是在運行vBulletin的服務器上測試配置。

回答

22

讓我澄清一下您對Hiphop和Xcache可能存在的誤解。 XCache通過將操作碼緩存添加到ZEND的PHP實現(如APC和朋友),而Facebook的HipHop允許將PHP代碼轉換爲C++代碼,然後使用g ++進行編譯。用HipHop運行XCache是​​不可能的,因爲HipHop不依賴於Zend解釋器(甚至在轉換爲C++後編譯爲字節碼時甚至不使用php操作碼)。

現在回答你的問題,HipHop現在被用來承載大量的Facebook流量。 Facebook不會發布這個項目,如果它不穩定,但由於它是非常新的,我仍然要小心。 HipHop不僅僅是Zend解釋器的補丁,它是運行PHP代碼的完全不同的方式,可能會有一些bug。

Facebook爲確保Hiphop在切換到它之前所做的一件事就是他們能夠在其網站上爲每個可能的請求設置非常嚴格的單元測試。這樣,如果Hiphop的輸出與普通的Zend PHP不同,那麼他們會回頭調試一些,直到所有「爲他們工作」。僅僅因爲它在Facebook代碼庫上「運行」並不能證明它適用於你的。如果您決定切換到HipHop,請確保對其進行測試。

編輯:

HHVM(新VM版本HPHP的)現在可以evalcreate_function。他們應該是所有/最有意義的原因相同。

有幾件事與HipHop不兼容。他們刪除了 evalcreate_function函數。他們現在也只支持PHP 5.2.x,但他們計劃在不久之後添加對5.3的支持。

+0

感謝您提供的信息豐富的回覆。你可以請看看HipHop虛擬機上的問題 - http://stackoverflow.com/questions/8697348/facebook-hiphop-virtual-machine-for-php謝謝 – 2012-01-02 04:48:13

8

我喜歡HipHop的想法,所以不要誤解我的意思,但有一點要記住:HipHop不適合每個人。從Sebastian Bergmann

它不是面臨PHP的99.9%,問題的解決方案部署在那裏

除非你有Facebook的比例流量和您的瓶頸是CPU或內存使用情況,你」不太可能看到很多好處(與xcache,apc等相比)。數據庫和文件系統訪問仍然是你的殺手。

2

我相當確信vbulletin 3.x不會與HipHop一起使用。 VB 3的插件系統由遍佈代碼的近2000個eval語句組成,ehop不被hiphop支持。

這可能只是冰山一角,當涉及到獲得vbulletin編譯。