Хип-хоп вместо XCache?
Имеет ли смысл переходить на HipHop вместо XCache?
Готов ли HipHop к прайм-тайму или мы должны подождать несколько месяцев, прежде чем его внедрять?
Изменить: мы заинтересованы в тестировании конфигурации на сервере под управлением vBulletin.
3 ответа
Позвольте мне прояснить ваше неправильное представление о Hiphop и Xcache. XCache работает, добавляя кеширование кода операции в реализацию ZEND PHP (например, APC и друзей), в то время как HipHop Facebook позволяет преобразовывать код PHP в код C++, а затем компилировать его с помощью g++. Невозможно запустить XCache с HipHop, так как HipHop не зависит от интерпретатора Zend (и даже не использует коды операций php, так как он скомпилирован в байт-код после преобразования в C++).
Теперь, чтобы ответить на ваш вопрос, HipHop используется в прямом эфире для размещения большого количества трафика Facebook. Facebook не выпустил бы этот проект, если бы он не был почти стабильным, но, поскольку он очень новый, я все равно буду проявлять осторожность. HipHop - это не просто патч для старого Zend Interpreter, это совершенно другой способ запуска PHP-кода и, возможно, в нем будет несколько ошибок.
Одна вещь, которую Facebook сделал, чтобы убедиться, что Hiphop работал до того, как он переключился на него, заключался в том, что он мог устанавливать очень строгие модульные тесты для каждого возможного запроса на своем сайте. Таким образом, если выходные данные из Hiphop будут отличаться от обычного Zend PHP, они вернутся и отладят еще немного, пока все не "сработает для них". Тот факт, что он "работает" на базе кода Facebook, еще не доказывает, что он будет работать для вас. Если вы решили перейти на HipHop, обязательно проверьте его.
РЕДАКТИРОВАТЬ:
HHVM (новая версия виртуальной машины HPHP) теперь может eval
а также create_function
, Они должны быть одинаковыми по всем / наиболее значимым причинам.
Есть несколько вещей, которые не совместимы с HipHop. Они удалили eval
а также create_function
функции. Они также пока поддерживают только PHP 5.2.x, но планируют добавить поддержку 5.3 "в ближайшее время".
Мне нравится идея HipHop, поэтому не поймите меня неправильно, но есть кое-что, что нужно запомнить: HipHop не для всех. Себастьян Бергманн:
это не решение проблемы, с которой сталкиваются 99,9% развертываний PHP
Если у вас нет пропорционального трафика Facebook и узким местом является использование процессора или памяти, вы вряд ли увидите большую выгоду (по сравнению с xcache, apc и т. Д.). Доступ к базе данных и файловой системе по-прежнему будут вашими убийцами.
Я вполне уверен, что vbulletin 3.x не будет работать с HipHop. Система плагинов VB 3 состоит из почти 2000 операторов eval, разбросанных по всему коду, и eval не поддерживается хип-хопом.
Это, вероятно, только верхушка айсберга, когда дело доходит до получения vbulletin для компиляции.