Хип-хоп вместо XCache?


Имеет ли смысл переключиться на хип-хоп вместо XCache?

Готов ли хип-хоп к прайм-тайму или нам следует подождать несколько месяцев, прежде чем его внедрять?

Редактировать: нам интересно протестировать конфигурацию на сервере, на котором работает vBulletin.

Author: Marco, 2010-03-18

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 "в ближайшее время".

 22
Author: Kendall Hopkins, 2013-03-20 00:03:19

Мне нравится идея хип-хопа, так что не поймите меня неправильно, но есть кое-что, что нужно помнить: хип-хоп не для всех. От Себастьяна Бергмана:

Это не решение проблемы, с которой сталкиваются 99,9% развертываний PHP

Если у вас нет пропорционального трафика Facebook, а вашим узким местом является использование процессора или памяти, вы вряд ли увидите большую выгоду (по сравнению с xcache, apc и т. Д.). Доступ к базе данных и файловой системе по-прежнему собираюсь стать твоими убийцами.

 8
Author: Justin Johnson, 2010-03-19 00:15:02

Я совершенно уверен, что vbulletin 3.x не будет работать с хип-хопом. Система плагинов VB 3 состоит из почти 2000 операторов eval, разбросанных по всему коду, и eval не поддерживается hiphop.

Это, вероятно, только верхушка айсберга, когда дело доходит до компиляции vbulletin.

 2
Author: Frank Farmer, 2010-10-11 20:35:43