Просмотров: 47225
Дата последнего изменения: 26.12.2023
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Производительность сайта
Обладая большим арсеналом возможностей и наличием готовых компонентов почти под любую задачу, продукты на основе Bitrix Framework занимают на диске от 100 Мб и больше. Сложная структура страницы требует для ее обработки определенного объема памяти.
Однако, благодаря своей архитектуре платформа Bitrix Framework позволяет легче переносить большие нагрузки, а для малых нагрузок достаточно самого обычного хостинга (в варианте «виртуальный сервер»), не загруженного другими клиентами «под завязку».
Производительность сайта - комплексное явление. Для приемлемых результатов должно быть состыкованы:
- ресурсы сервера;
- настройка серверного ПО;
- программная платформа (БУС);
- прикладная разработка на платформе.
Без понимания каждой составляющей из этого списка невозможно настроить производительность. Сложность работы хостинга как услуги заключается в том, что конечные пользователи предъявляют претензии, как правило, к ТП хостинга, хотя проблемы могут быть на любом из названных выше этапов.
Типовая реакция неквалифицированного сотрудника ТП хостинга: проверка настроек сервера с проблемным сайтом и, в случае их соответствия локальным стандартам, "перевод стрелок" на программную платформу. Однако 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.
Соответствие сервера требованиям системы, уже после установки сайта, можно протестировать модулем Монитор производительности.