1  /  265

Bitrix Framework и хостинг

Просмотров: 50730
Дата последнего изменения: 26.12.2023
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

  Производительность сайта

Обладая большим арсеналом возможностей и наличием готовых компонентов почти под любую задачу, продукты на основе Bitrix Framework занимают на диске от 100 Мб и больше. Сложная структура страницы требует для ее обработки определенного объема памяти.

Однако, благодаря своей архитектуре платформа Bitrix Framework позволяет легче переносить большие нагрузки, а для малых нагрузок достаточно самого обычного хостинга (в варианте «виртуальный сервер»), не загруженного другими клиентами «под завязку».

Производительность сайта - комплексное явление. Для приемлемых результатов должно быть состыкованы:

  1. ресурсы сервера;
  2. настройка серверного ПО;
  3. программная платформа (БУС);
  4. прикладная разработка на платформе.

Без понимания каждой составляющей из этого списка невозможно настроить производительность. Сложность работы хостинга как услуги заключается в том, что конечные пользователи предъявляют претензии, как правило, к ТП хостинга, хотя проблемы могут быть на любом из названных выше этапов.

Типовая реакция неквалифицированного сотрудника ТП хостинга: проверка настроек сервера с проблемным сайтом и, в случае их соответствия локальным стандартам, "перевод стрелок" на программную платформу. Однако Bitrix Framework имеет свои особенности в настройке серверного ПО, что и нужно учитывать.

  Хостинг Bitrix Framework

Bitrix Framework имеет свои особенности в плане хостинга:

  • Наличие достаточного места на диске для создания большого количества файлов. Сегодня минимальное требование для проекта с большим числом картинок — от 300 Mбайт. (Важно помнить, что каждая картинка также занимает место на диске, а в большом проекте таких картинок может быть очень много.)

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

  • Наличие необходимых ресурсов на сервере - памяти, выделяемой скриптом, некоторых других настроек. Необходимо как минимум 128 Мбайт памяти, выделяемой для PHP, чтобы могли работать серьезные проекты (например, интернет-магазины). Она расходуется на построение структуры данных и выполнение кода при вызове каждой страницы сайта.
  • Желательность двухуровневой архитектуры для работы сайтов с высокой посещаемостью или серверов с высокой загрузкой. Для этого устанавливается дополнительный веб-сервер (обычно NGINX), который принимает все запросы. Это позволяет стабилизировать использование памяти за счет ограничения числа процессов Apache и получить отказоустойчивую систему.
  • Достаточно быстрый сервер баз данных. Для работы сайтов необходимо, чтобы сервер баз данных успевал обрабатывать запросы за короткое время.
  • Желательность работы PHP и FTP/SSH от одного и того же пользователя. При разработке сайта обычно работают с файлами по FTP/SFTP-протоколу. Вместе с тем при работе в самой системе она создает файлы от имени того пользователя, под которым работает PHP. При несовпадении этих пользователей могут возникнуть серьезные проблемы в работе сайта или в возможностях его модификации.

  Для успешной установки

Для успешной установки и полноценной работы продукта необходимо следующее:

  • Установка может быть сделана только в корневую папку веб сервера.
  • Необходимо использовать веб сервер Apache 2.0 и выше.
  • Хостер должен разрешать использование .htaccess.
  • Необходимо использовать PHP не ниже версии 8.0 (Рекомендуется 8.1 и выше).
  • safe_mode должен быть отключен (инсталлятор блокирует установку продукта в этом режиме).
  • short_open_tag включён.
  • memory_limit не ниже 32 Мб для редакции "Старт", не менее 64 Мб для редакции "Бизнес".
  • Наличие функций работы с сокетами для обновления продукта.
  • Наличие библиотек: Zlib (компрессия - для модуля компрессии и ускорения загрузки обновлений), GD lib (отображение графиков), Free Type (работа CAPTCHA).
  • Версия MySQL 5.7 и выше.
  • Рекомендуется использование акселератора PHP (поддерживается акселератор OPcache).
  • режим работы PHP как модуля Apache предпочтительнее (CGI настоятельно не рекомендуется, так как он не поддерживает работу акселератора. Лучше использовать FastCGI)
Примечание: не рекомендуется использовать модуль suhosin или mod_security т.к. в ряде случаев эти модули препятствуют нормальной работе продуктов.

Продукты Bitrix Framework поставляются в исходных кодах. Поэтому нет необходимости в модулях zend optimizer или zend guard loader.

Соответствие сервера требованиям системы, уже после установки сайта, можно протестировать модулем Монитор производительности.



Содержание главы:

45
Курсы разработаны в компании «1С-Битрикс»

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