Php 5

Переходити на php 7.0 або почекати? Ось і ми так довго думали, зважували, прикидали. Однак вчора настав той момент, коли потрібно було швидко прийняти рішення

В результаті ввечері був здійснений перехід з php 5.6 на php 7.0

Короткі характеристики сервера

  • ОС: FreeBSD
  • RAM: 5 Гб
  • CPU: Xeon E5335 2.00GHz * 4 (ядра)

Оскільки це FreeBSD і тримати одночасно більше однієї версії php не представляється можливим (насправді можна, але з цим доведеться попаритися), даунтайм був всього 40 хвилин, які потрібні були на знесення php 5.6 і установку php 7.0

До речі у нас є ще сервер на Gentoo, яка надає можливість встановити кілька версій php. На даний момент там php 5.6, 7.0, 7.1. Але це до слова

І ось, що у нас вийшло. Подивимося на денні графіки, де в лівій частині день вчорашній, а праворуч день сьогоднішній

Що не змінилося

Php 5

Php 5

Php 5

Php 5

Що змінилося

Php 5

Php 5

Php 5

Php 5

Php 5

Php 5

З якими ми зіткнулися труднощами

  • У поточному php 7.0 немає модуля memcache. Довелося завантажувати сторонній порт php70-pecl-memcache
  • Немає модуля mysql. До цього потрібно бути готовим і заздалегідь передбачити в плані переходу перехід на mysqli. Більш-менш сучасні фреймворки підтримують mysqli
  • Якщо використовуєте pecl-pdflib, будьте готові до того, що працювати він не буде. Ми використовуємо wkhtmltopdf
  • Частина порталу використовувала mpdf. Він не працює з php 7.0. Встановили свіжий за допомогою composer
  • Провели легкий рефакторинг коду

При тій же кількості відвідувачів порталу навантаження на сервер впала в два рази