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