1  /  230

Bitrix Framework и хостинг

Просмотров: 5424 (Статистика ведётся с 06.02.2017)

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

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

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

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

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

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

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

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

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

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

Во многом соответствие сервера требованиям системы можно протестировать модулем Монитор производительности.

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

  • Установка может быть сделана только в корневую папку веб сервера.
  • Необходимо использовать веб сервер Apache 1.3.0 и выше.
  • Хостер должен разрешать использование .htaccess.
  • Необходимо использовать PHP 5.3+.
  • safe_mode должен быть отключен (инсталлятор блокирует установку продукта в этом режиме).
  • short_open_tag включён.
  • memory_limit не ниже 32 Мб для редакции "Старт", не менее 64 Мб для редакции "Бизнес".
  • Наличие функций работы с сокетами для обновления продукта.
  • Наличие библиотек: Zlib (компрессия - для модуля компрессии и ускорения загрузки обновлений), GD lib (отображение графиков), Free Type (работа CAPTCHA).
  • Версия MySQL 5.0 и выше, Oracle 10g и выше или MSSQL 10.0 (2008) и выше.
  • Для установки Oracle-версии продукта удостоверьтесь в наличии клиентской части Oracle 10g (или выше) и создайте нового пользователя.
  • Крайне рекомендуется наличие акселератора PHP (OPcache, XCache, APC и другого). Рекомендуется OPcache, входит в состав PHP v5.5+.

    Внимание:
    1. Есть особенность использования прекомпилятора XCache, для корректной работы продукта его параметры должны быть: xcache.cacher=Off, xcache.stat=On.
    2. eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.

  • режим работы PHP как модуля Apache предпочтительнее (CGI настоятельно не рекомендуется, так как он не поддерживает работу акселератора. Лучше использовать FastCGI)
Примечание: не рекомендуется использовать модуль suhosin или mod_security т.к. в ряде случаев эти модули препятствуют нормальной работе продуктов.

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



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

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

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