Успешно запустил свой домашний блог, написанный на bitrix, на версии php7.
Версия bitrix – последняя beta.
Замерил утилитой ab-тестирования (из комплекта с Апатчем) скорость работы в первом и втором случаях:
Методика тестирования:
Меняем версию PHP в настройках апатча и прогоняем тесты ab-утилитой.
Также смотрим на время генерации страницы модулем производительности.
Ничего особенно, но для ответа на вопрос:
а быстрее ли bitrix с php7?
и примерно на сколько быстрее?
- ответ можно получить.
Команда на тестирование урла сервера:
Справка по параметрам ab-утилиты:
Результаты следующие:
Как видно, местами процентов на 40% быстрее. Что интересно, что и скорость отдачи контента сервером увеличилась (см. transfer rate). Как мне кажется, это хороший показатель.
PS\2 в момент запуска php7 столкнулся со следующей ошибкой компонента:
Это по причине того, что php7 более верно теперь расшифровывает переменные-переменных (см ).
Лечится более четким указанием определяемого значения переменной через {}:
PS Выходит очень круто, что просто обновляя версию php, получаем прирост! Очень радует, что битрикс понимает важность перехода на php7, и что уже даже что-то работает
Очень надеюсь, что скоро .
Версия bitrix – последняя beta.
Замерил утилитой ab-тестирования (из комплекта с Апатчем) скорость работы в первом и втором случаях:
Методика тестирования:
Меняем версию PHP в настройках апатча и прогоняем тесты ab-утилитой.
Также смотрим на время генерации страницы модулем производительности.
Ничего особенно, но для ответа на вопрос:
а быстрее ли bitrix с php7?
и примерно на сколько быстрее?
- ответ можно получить.
Команда на тестирование урла сервера:
d:\server\Apache\bin>ab -n 5000 -c 10 -s 300 -k http://***********:80**/w***h/m*****************i/ |
Usage: ab [options] [http://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make at a time -s timeout Seconds to max. wait for each response Default is 30 seconds -k Use HTTP KeepAlive feature … |
| PHP 5.6 on Bitrix Vs. | PHP7 (Zend Engine v3.0.0) on Bitrix | ||
| | ||
|
| ||
|
| ||
| |
Как видно, местами процентов на 40% быстрее. Что интересно, что и скорость отдачи контента сервером увеличилась (см. transfer rate). Как мне кажется, это хороший показатель.
PS\2 в момент запуска php7 столкнулся со следующей ошибкой компонента:
// \bitrix\components\bitrix\blog.blog\component.php
global ${$arParams["FILTER_NAME"]};
$arFilter = $$arParams["FILTER_NAME"]; // ошибка php7:
if(!is_array($arFilter))
$arFilter = array();
|
[ParseError] syntax error, unexpected '[', expecting ',' or ';' (0) |
Лечится более четким указанием определяемого значения переменной через {}:
// \bitrix\components\bitrix\blog.blog\component.php
global ${$arParams["FILTER_NAME"]};
$arFilter = ${$arParams["FILTER_NAME"]}; // вот так мы явно указываем имя переменной
if(!is_array($arFilter))
$arFilter = array();
|
PS Выходит очень круто, что просто обновляя версию php, получаем прирост! Очень радует, что битрикс понимает важность перехода на php7, и что уже даже что-то работает
Очень надеюсь, что скоро .