Ускорение и производительность сайтов на РНР

Вы, конечно, задумывались, из чего состоит сайт и как заставить его работать быстрее?

Что такое сайт

В классическом представлении это дизайн, верстка, программный код, и контент. Все это размещается на сервере, и отдается пользователю в браузер по закрепленному за сайтом доменным именем.

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

В вебе применяются два вида программного кода и, соответственно, языков программирования:

— Клиентские языки используются для написания программ, выполняющихся на стороне клиента, т.е. непосредственно на устройстве посетителя сайта, а вернее, его браузером. Прежде всего, это конечно HTML, CSS и JavaScript, составляющие основу пользовательского интерфейса большинства сайтов и браузерных приложений. Скорость загрузки и работы клиентской части сайта во многом зависит от производительности вычислительной системы пользователя (тактовая частота и количество ядер микропроцессора, оперативная память и\или наличие SSD-диска под операционной системой.

— Серверный программный код обрабатывается вычислительной системой, на базе которой непосредственно размещается сайт. Это тоже компьютер или распределенная компьютерная сеть, поэтому вычислительные мощности также влияют на быстродействие сайта, но уже не на отображение интерфейса или дизайна, а на работу с базой данных сайта, хранящейся на сервере. Наиболее часто для написания серверной части сайта используются язык программирования PHP и язык запроса к базе данных SQL.

Популярность PHP обусловлена простотой и широкими возможностями для веб. Большинство популярных CMS и фреймворков реализовано именно на PHP: WordPress, Joomla, 1С-Битрикс, Laravel, Yii. Однако, изначально заложенная в PHP архитектура привела к значительному количеству уязвимостей в конечном продукте и относительно невысокой производительности, что особенно проявляется на кастомных, самописных проектах.

Как заставить сайт работать быстрее

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

Именно поэтому важно выбирать хостинг не только по цене, но в соответствии с функциональной сложностью сайта и предполагаемым количеством пользователей, которые будут единовременно выполнять на сайте какие-либо действия.

Существуют технологии, позволяющие ускорять загрузку сайта, а следовательно и его конверсионные свойства. Однако, владельцу интернет-ресурса доступны лишь некоторые из них.

Оптимизация контента и кеширование — один из самых простых и действенных способов и позволяет серьезно сократить время отображения страниц сайта, избавляя от необходимости скачивать один и тот же контент при каждой его загрузке.

Некоторые CMS обладают режимами интеллектуального кеширования сайтов, например Композит в 1С-Битрикс, что еще больше повышает эффективность загрузки страниц.

Но есть и более простой способ ускорения сайта. Если поднять версию программной среды PHP на стороне сервера до версии 7.0 и выше, можно увеличить производительность сайта до 3-х раз.

Исследования, проведенные компаниями Kinsta и Интерволга, доказывают кратное увеличение производительности сайтов, работающих на платформе PHP при изменении версии ПО с 5.6 до 7.0, независимо от используемых CMS.


Пожалуй, никакие другие рекомендации не помогут достичь такого эффекта практически без затрат.