Компания Zend Technologies, развивающая ядро языка PHP (Zend Engine) и выпускающая серию проприетарных приложений для разработчиков на языке PHP, открыла (http://marc.info/?l=php-internals&m=136076715121466&w=2) исходные тексты системы кэширования и оптимизации байткода Zend Optimizer+, ранее поставляемого в составе проприетарного пакета Zend Server. Код открыт (https://github.com/zend-dev/ZendOptimizerPlus/) под свободной лицензией PHP.Zend Optimizer+ предоставляет средства для ускорения выполнения скриптов на языке PHP за счёт использовании техники кэширования опкода и применения дополнительных оптимизаций. Предкомпилированный код скриптов кэшируется в разделяемой памяти, что позволяет избежать выполнения стадий чтения с диска, разбора и компиляции исходного кода скриптов при их повторном запуске. Кроме того Zend Optimizer+ включает дополнительные методы оптимизации при генерации байткода, что позволяет достичь ускорения и за счёт более быстрого выполнения байткода. Zend Optimizer+ совместим с ветками PHP 5.2.*, 5.3.*, 5.4.*
и PHP 5.5-dev.
Код был открыт после публикации техническим директором Zend Technologies предложения (https://wiki.php.net/rfc/optimizerplus) о включении (http://ckon.wordpress.com/2013/02/02/apc-replaced-by-zend-op.../) наработок Zend Optimizer+ в состав основной кодовой базы PHP 5.5. При этом ранее было высказано похожее предложение от конкурирующей свободной системы APC (http://pecl.php.net/package/apc) (Alternative PHP Cache), разработчики которой планировали добиться включения APC в состав PHP 6.0, что в будущем лишало смысла поставку Zend Optimizer+ как проприетарного продукта.
Разработчики Zend Optimizer+ считают, что их предложение заслуживает большего внимания, так как сравнению с APC их система позволяет (https://docs.google.com/spreadsheet/ccc?key=0Agw0hgqCxf0cdEZ...) добиться более высокой производительности (в среднем на 5-20%), обеспечивает лучшую совместимость с различными ветками и возможностями языка PHP, содержит средства для выявления повреждения данных (например, из-за некорректно написанной PHP-функции на языке C). Из преимуществ APC называется поддержка API для управления кэшированием данных и возможность возвращения памяти, которая использовалась для кэширования давно не запускаемых скриптов.URL: http://marc.info/?l=php-internals&m=136076715121466&w=2
Новость: http://www.opennet.me/opennews/art.shtml?num=36115
Только вот в реальной жизни XCache уделает, как Zend Optimizer+, так и тем более APC. Но его почему-то не взяли.
> Только вот в реальной жизни XCache уделает, как Zend Optimizer+, так и
> тем более APC. Но его почему-то не взяли.Можно поподробнее? Чесслово интересно. По опыту могу сказать, что зенд быстрее eaccelerator'а на те же 5-20 процентов. И по тестам зенд обычно рвёт всех.
> Можно поподробнее? Чесслово интересно. По опыту могу сказать, что зенд быстрее eaccelerator'а на те же 5-20 процентов. И по тестам зенд обычно рвёт всех.У eaccelerator'а уже давно, кастрировали все важные функции, они обидились, что APC взяли в основную ветку. Сами разрабодчики eaccelerator'а ничего так и не написали, практически после форка Turck MMCache они просто переименовали файлы и названия функций. Баги победить они не осили, смогли лишь адаптировать к новым версиям php, плюс мелкие правки. От готовых патчей автора XCache они отказались, вся переписка, есть в инете, сообствнно после этого и появился этот замечательный продукт. Вот пара основных отличий в XCache натоящая подержка многоядрных систем, для каждой отдельный кеш, по мимо кеша опкода кеширование переменых, т.е. совершенно другой подход к этим задачам, у меня на продакшен серверах кеш переменых больше чем обычный кеш, вычеслено на практике, после того как XCache хватает памяти он работает как часы, при eaccelerator'е и других продуктах, апликейшен сервис приходилось перегрузать время от времени.
Честно говоря из-за закрытости, давно не смотрел Zend Optimizer, но вглянув конфиг могу однозначно сказать, что он отстает по фичам, а конфиг напоминает The ionCube PHP Accelerator, это попахивает архаичностью. Тестов тоже давно не смотрел, но думаю, что Zend быстрее из-за самих тестов, ну как у AMD специальные подкладывает dll чтобы их процы больше попугает показывали. При шикарно работающим XCache и отсуствиее свободного времени, смотреть еще что-то не вижу смысла. Так что на ссылки с тестами вгляну с удовольстием, на глаза они мне уже много лет не поподались...
Когда вы говорите о том, что знаете, всё ещё может хорошо выглядеть.
Ну так проведите тесты, кто мешает то?
И хватит уже переводчиком переводить, а то моя твоя не понимай...
хкаше не уделает, а только чуть-чуть быстрее апса, но апс понадежнее.
> хкаше не уделает, а только чуть-чуть быстрее апса, но апс понадежнее.Правильон настроеный xcache, очень стабилен.
Я сам лично на досуге запускал CodeIgniter через FastCGI (не через костыль, а все по-честному https://github.com/redixin/phastcgi ). Прирост был ЕМНИП ~10 раз.Их жалкие 5-20% выглядят просто смешно.
[сообщение отредактировано модератором]
5-20% по сравнению с APC. Читай внимательней.
Кто не успел, тот опоздал. Раньше надо было мозгами шевелить.
Да кому этот Zend Optimizer нужен. Никогда им не прощу брошенную поддержку FreeBSD, с другой стороны, мои клиенты тогда бы не узнали как хорош XCache/APC
> Да кому этот Zend Optimizer нужен. Никогда им не прощу брошенную поддержку
> FreeBSD, с другой стороны, мои клиенты тогда бы не узнали как
> хорош XCache/APCЯ с вами соглашусь, после того как зарубили поддержку Zend Optimizer на FreeBSD что в свою очередь вызвало много проблем, Zend Optimizer перестал быть интересным многим.
Можно применять, eaccelerator, XCache, APC все зависит от задач, ну а к Zend Optimizer уже давно потерян интерес, в виду тех или иных причин
На бздоидов даже апач забил, заменяя фрибзды на линуксы на своих серверах. Ждем сноса апачей обиженными бздистами.
> На бздоидов даже апач забил, заменяя фрибзды на линуксы на своих серверах.
> Ждем сноса апачей обиженными бздистами.Мальчик, ты будешь очень сильно удивлен для чего так хорошо распиарили тот факт что многие компании отказываются от FreeBSD в пользу линуха
FreeBSD как использовали так и будут использовать раньше в тех компаниях, вот только это не будут разглашать в связи с пагубными последствиями на свою инфраструктуру
nginx же.
думаешь что он понял, к чему ты про nginx написал?
> Zend Optimizer+ совместим с ветками PHP 5.2.*, 5.3.*, 5.4.* и PHP 5.5-dev.
> ...
> обеспечивает лучшую совместимость с различными ветками и возможностями языка PHPНа этих строчках многие люди воскликнут "Ой, вэй!".
Потому что у зенда есть целых 2 версии Zend Optimizer:
- Zend Optimizer для php5.2 и старее
- Zend Guard Loader для php5.3 и, соответственно, новее.
И эти версии между собой не совместимы.То есть php код, закодированный Zend Optimizer'ом _внезапно_ переставал работать после обновления php до 5.3.
Точнее сначала после обновления php отваливался сам Zend Optimizer.
Потом устанавливался Zend Guard Loader.
А потом оказывалось, что это уже не поможет.
Закодированные скрипты не запустить, никак.
Ну кроме как запускать php5.2 как cgi, или через fcgi wrapper, или ещё как.
И долбить техподдержку купленных продуктов на php, чтобы они поскорее выпускали свои продукты, закодированные уже новым Zend Guard Loader.
Те с этим частенько тянули, или вовсе отказывали.
В общем весело было.И тут технический директор рассказывает о том, какая у них совместимость между версиями.
Йеху, это лютый win!
Ага, все вменяемые разработчики, с которыми мы работаем, после этой шутки перешли на ionCube
> Ага, все вменяемые разработчики, с которыми мы работаем, после этой шуткиВменяемые разработчики не закладываются на чужую проприетарь, тем более закодированную черти-чем.
>> Ага, все вменяемые разработчики, с которыми мы работаем, после этой шутки
> Вменяемые разработчики не закладываются на чужую проприетарь, тем более закодированную
> черти-чем.Правильно, они просто зарабатывают деньги. Им не до этих словесов на колесах в лицензиях.
А еще на FreeBSD последняя версия Zend Optimizer которая работает только для PHP 5.2.
Для более новых PHP Zend просто не существует в природе.
> А еще на FreeBSD последняя версия Zend Optimizer которая работает только для PHP 5.2.И гцц в бзде 4.2 сватают. И драйверов на новые Radeon там нет и не предвидится. Может быть, при таких тенденциях дело все-же не в бобине?
>> А еще на FreeBSD последняя версия Zend Optimizer которая работает только для PHP 5.2.
> И гцц в бзде 4.2 сватают.gcc4.7/clang 3.2
> Может быть, при таких тенденциях дело все-же не в бобине?
вплоть до 3.6.11 контроллер HP SA P420 не видится. адский секс в бинарных дистрах - в комплекте. FreeBSD9.1/DragonflyBSD3.2 - всё работает из коробки. Не в бобине дело, не в бобине, спи, зайка, с радеоновскими дровами вобнимку.
> Не в бобине дело, не в бобине, спи, зайка, с радеоновскими
> дровами вобнимку.ну мальчику нужно доказать миру, что он не обосрался, купив amd, бывает:-)
OT: и да польются тонны говен про "ааааа они юзают git" !1
AOT: но пацанчики спешат на помощь убогим: https://wiki.freebsd.org/AMD_GPU
это просто ты недалекий апт-гетчик. ничего личного, вас таких много;(
Ты просто не умеешь готовить маковскую версию для фрюхи - вполне себе запускалась ... а вот работала или нет - не скажу. Был чисто академический интерес.
С каких это пор фря маковские бинарники умеет запускать, выдумщик?
Вот только Zend Optimizer+ не имеет никакого отношения к Zend Optimizer, точнее, общий код - это именно оптимизации (вот эти - https://github.com/zend-dev/ZendOptimizerPlus/tree/master/Op...).Сначала был Zend Optimizer, который умел две несвязанные вещи - оптимизировать опкоды и запускать закриптованное Zend Encoder-ом. Видимо, назвали так для того, чтобы больше хостеров ставили (оптимизация, че).
Потом (к версии 5.3) это распилили на более логичные части - Zend Guard Loader стал использоваться именно для запуска закодированных скриптов, а оптимизации слились с тем, что раньше называлось Zend Accelerator, в Zend Optimizer+ в поставке Zend Server.
И именно этот Zend Optimizer+ из Zend Server лежит на гитхабе.
аттракцион неслыханной щедрости.
APC рулит
Это маленькие пример победы открытых продуктов над проприетарными. Если конкуренты откроют - наш продукт умрёт окончательно, значит нет выбора...
> - наш продукт умрёт окончательно, значит нет выбора...Как-то так опенсорц и теснит понемногу проприетарь там и тут. Вон например WindRiver зажимал свою проприетарную бзду, зажимал. Дозажимался до того что пришлось с позором выкинуть и валить на пингвины.
Это маленький пример идиотизма, царящего в компании Zend.
примечательно что засветился там dstogov, в то время как eaccelerator всеми брошен, Дима Стогов занимается ZOP, хотя да, чего ему заниматься eaccelerator'ом то, он давно забил на свое детище Turck MMCache