Как стать автором
Обновить

Комментарии 38

Полсекунды на страницу, реально?
В среднем да, реально.
Боюсь, это не удивление вашему «достижению», скорее эдакий facepalm.jpg
Я понял, что это был не восторг. Данные привел исходя из мониторинга. На данный момент главная страница загружается за 140 мс. Я не хотел обсуждать конкретные цифры, в статье я хотел показать общую динамику.
Подскажите, за счет чего упала нагрузка на дисковую подсистему?
Предполагаю что opcache помогает, но не уверен.
Это может быть следствием того, что PHP7 потребляет меньше памяти — больше остаётся на кеши.
У меня нет точного ответа на этот вопрос. Наибольшую загрузку на диски у нас дает mysql, версия «больше остается на кеши» хорошая, но количество памяти под мускул мы не меняли.
Тоже скоро будем переводить громадный проект с 5.6 на 7, и тоже Yii 1

И снова графики не от нуля… Страницы стали отдаваться быстрее на треть, а нарисовано как будто в два раза.

Странно, зачем было подменять сокет?
У себя делал так:
Поднимал php-fpm 7-ку например на 127.0.0.1:9900
Делал поддомен например beta.site.com, прописывал ему fastcgi_proxy 27.0.0.1:9900;
И уже на бете тестировал.
Да и проблем с переездом очень и очень мало.
Отдельный сокет для того, чтобы перезапуском одного из двух сервисов (nginx) можно было вернуться в исходное состояние. Это не принципиально, решений тут можно придумать десяток.
Я как раз про перезагрузки и говорил, делается поддомен ему прописывается php-fpm 7 и дальше тесты, как все тесты пройдены в основном домене подменяется сокет и в продакшен.
И на реальных пользователях оказывается, что в тестах что-то упустили…
То есть лучше каждый раз из-за ошибки дергать демона nginx?
Из-за ошибки, не замеченной на стадии тестирования, лучше дернуть nginx, чем менять версию php-fpm на лету. В общем случае.
Я все равно не понимаю чем это лучше.
В моем варианте два сайта
1 — полностью рабочий сайт (nginx + php-fpm 5)
2 — этот же сайт только (nginx + php-fpm 7)
2 сайт тестируется, не только автоматическими тестами но и ручками, как только все готово меняется сокет и все.
Так и в варианте автора то же самое — переключение на php7 в продакшене переходит путём изменения сокета в конфигах nginx. Если достаточно долгое время проблем от смены версии не обнаруживается, то первый (php5) сокет гасится навсегда, а если проблемы появились, то практически моментально на него переключаются снова. Чем ваш вариант ввода php7 в продакшен отличается от авторского?

Тем, что во время первичного тестирования новой версии основной сайт не гасится, тестовая версия видна только тому кто тестирует.

Кто вам сказал, что у автора первичное тестирование проводится на продакшене?

Автор и сказал.


Подняли вторую версию демона php-fpm для семерки. Для сайта, для которого планировался переезд, поднимался второй отдельный сокет. Далее сокет подменялся в конфигурации nginx.

Тут написано про поднятие второго php-fpm — но ничего не сказано о поднятии второго nginx или заведении второго сайта на старом, лишь о подмене сокета.

Автор такого не говорил, вы что ) Для первичных тестов у нас отдельный сервер разработки, но это не имеет отношения к статье.

Этот ваш комментарий должен был быть десятью уровнями выше. И он должен был звучать "так мы примерно так и сделали, только публичного доступа ко второму серверу не давали".

Как по мне тут сказано о стратегии переключения на php7 на продакшене с возможностью практически моментального отката, а про фазу предварительного тестирования не сказано ничего, из чего можно было бы сделать вывод, что тестирования не было вообще. Слава богу, сейчас такое тестирование, хотя бы ручное, предполагается по умолчанию.
А чего не UDS?
Мне так было привычнее.
Вы не поняли сути ответа.
Суть в том что не на живом сайте меняем сокет, а создается поддомен ссылкой на ту же папке где лежит рабочий сайт (или делается форк) и вот там уже ведется адаптация под 7 версию.
Нужна ли кому-то пошаговая инструкция по миграции php5.x на php7.0 с миграцией Laravel5.2 на Laravel5.3?
Пару недель назад переехали на beastgaming.club этим стэком, есть бесценные шишки.
Про бесценные шишки всегда интересно почитать
Да, хотелось бы. Особенно, если что-нибудь нетривиальное где-то пряталось.
Это всегда полезно. Даже тем, кто не работает с Laravel.
Угу. Не люблю Ларавел, но с удовольствием почитал бы.
Почти без проблем запустил приложение на symfony1.4, которое до этого на 5.3 работало. Впечатления только положительное. Причём много его сразу :)

Столкнулся с такой же задачей, сейчас новый релиз уже пакуем в Docker контейнер. По началу хотели сделать как вы. Интересно просто насколько наше решение лучше.

Чем вызван выбор докера? Какие-то специфические задачи?
Вместе с nginx?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.