|
Автор: Роман Петров, ООО «Ай Ти Констракт» Хостинг и «1С-Битрикс: Управление сайтом». Какие вообще бывают хостинги. Каким должен быть хостинг, чтобы сайт работал быстро. Ключевые проблемы, которые могут возникнуть и способы их решения.
|
Классически существуют несколько видов хостинга:
В последнее время популярность приобрел новый вид - «Облачный хостинг».
При работе на shared (разделенном) хостинге все ресурсы сервера распределяются между несколькими сотнями (реже – десятками) аккаунтов, размещенных на этом сервере. Как правило, имеются ограничения на доступное дисковое пространство и выделяемые ресурсы. В большинстве случаев для сайтов с небольшой посещаемость и разумными требованиями к ресурсам это оптимальный выбор, поскольку настройкой и мониторингом серверов занимаются специально обученные люди, которые оперативно устраняют проблемы.
Возможные проблемы заключаются в недостаточности ресурсов под большой проект и возможные замедления работы сайтов в часы пиковых нагрузок (когда растет число обращений ко всем сайтам на сервере) или при резкой нагрузке на какой-либо аккаунт. Вместе с тем, в задачи хостера входит мониторинг таких ситуаций и разгрузка серверов путем переноса тяжелых аккаунтов на другие площадки.
Среди нюансов, на которые следует обратить внимание – выделяемые ресурсы и скорость работы сайта в пиковые часы.
Выделенный сервер – это физический компьютер, отданный вам в полное распоряжение. Вы можете рассчитывать на все ресурсы сервера, а администрирование выполнять самостоятельно или с помощью администраторов хостера.
Виртуальный выделенный сервер – это программная эмуляция реального сервера. На одном реальном сервере может быть несколько виртуальных, и ресурсы реального сервера будут поделены между виртуальными (в том числе мощность процессора и объем оперативной памяти). В этом случае вы получаете все преимущества выделенного сервера, но по меньшей цене, и а также - все недостатки, связанные с необходимостью его администрировать.
Облачный хостинг представляет из себя систему виртуальных серверов, которая при увеличении нагрузки выделяет для вашего аккаунта дополнительные виртуальные сервера, а при уменьшении нагрузки – уменьшает число выделенных серверов.
Специфика платформы 1С-Битрикс в отношении хостинга следующая:
Являясь Framework, платформа 1С-Битрикс содержит очень большое число файлов, распределенных в основном по модулям, компонентам и шаблонам. Кроме того, встроенный механизм кэширования создает на диске сервера как минимум один файл на каждую страницу или виртуальную страницу – например, на новость или элемент каталога. Естественно, что это требует ресурсов.
На начало 2010 года минимальными требованиями к проектам на 1С-Битрикс можно считать размер диска в 300 мегабайт, а для интернет-магазинов с большим числом картинок к товарам – от 1 Гб. Важно помнить, что каждая картинка также занимает место на диске.
Для работы Битрикс в настоящее время (2010 год) необходимо как минимум 32 мб памяти, выделяемой для PHP. Этого значения достаточно для работы сайтов-визиток или информационных сайтов, для работы более серьезных проектов (например, интернет-магазинов) необходимо больше памяти. Она расходуется на построение структуры данных и выполнение кода при вызове каждой страницы сайта. Использование кэширования бинарного представления PHP кода позволяет существенно ускорить работу сайта и снизить общую нагрузку сервера.
Для этого устанавливается дополнительный веб-сервер (обычно nginx), который принимает все запросы. Оптимально, если nginx обрабатывает статические страницы (стили, картинки, скрипты) сам, а запросы к динамическим страницам (php) передаёт на Apache. Это позволяет стабилизировать использование памяти за счёт ограничения числа процессов Apache и получить отказоустойчивую систему.
Однако, даже если все запросы передаются Apache, то за счет более быстрой обработки страниц и быстрого освобождения выделяемой памяти достигается повышение производительности в несколько раз.
Для работы сайтов необходимо, чтобы сервер баз данных успевал обрабатывать запросы за достаточно короткое время. Платформа Битрикс умеет работать как с MySQL – основной базой данных на хостингах, так и с СУБД промышленного уровня – Oracle и Microsoft SQL Server. Для MySQL рекомендуется хранение таблиц в формате InnoDB.
При разработке сайта обычно работают с файлами по ftp/sftp протоколу. При этом при работе в самой системе она создает файлы от имени того пользователя, под которым работает PHP. При несовпадении этих пользователей могут возникнуть серьезные проблемы в работе сайта или в возможностях его модификации. Описание возможных проблем будет дано ниже.
Частично соответствие хостинга требованиям системы можно протестировать встроенным в «1С-Битрикс: Управление сайтом» средствами – модулем «Монитор производительности». Также существует отдельный скрипт для тестирования хостинга. Рекомендуем запускать его перед установкой, красным цветом будут показаны параметры, не удовлетворяющие требованиям продукта.
Часто встречается мнение о колоссальном размере «1С-Битрикс: Управление сайтом», его медленной работе и высоких требованиях к хостингу. Это утверждение не совсем верно. Действительно, благодаря большому числу возможностей и наличия готовых компонент почти под любую задачу, «1С-Битрикс» занимает на диске от 100 мб и больше, а сложная структура страницы требует для ее обработки определенного объема памяти.
Однако, благодаря своей архитектуре платформа «Битрикс» позволяет легче переносить большие нагрузки, а для малых нагрузок достаточно самого обычного хостинга (в варианте «виртуальный сервер»), не загруженного другими клиентами «завязку».
При выборе хостинга нужно обратить внимание, что один и тот же оператор может со временем улучшить или ухудшить свои характеристики. Для нахождения проблем рекомендуем использовать возможности модуля «Монитор производительности»/
«1С-Битрикc» рекомендует выбирать для хостинга партнеров, имеющих специальную компетенцию – хоcтинг PHP или хостинг .NET. В этом случае вероятность некорректной настройки хостинга минимальна.
Однако и другие хостинг-провайдеры предоставляют качественный хостинг. Основными критериями выбора является:
Хорошим подспорьем являются отзывы других пользователей этого хостинга или партнеров «1С-Битрикс».
Перенос сайта на хостинг лучше всего выполнять встроенными в «1С-Битрикс» средствами резервного копирования/восстановления.
Несмотря на то, что фактически сайт на Битрикс представляет из себя набор файлов и базу данных, копирование файлов напрямую на удаленный сервер в большинстве случаев плохая идея. Из-за большого количества мелких файлов такое копирование может растянуться на несколько часов, кроме того, использование стандартных механизмов позволяет избежать последующих возможных проблем с правами доступа к файлам сайта.
Среди часто возникающих проблем:
| ||
Пример: На многих хостингах, если PHP подключен как CGI, требуется соответствие владельца файла и прав на файл: если владелец файла – не ваш аккаунт или права на файл допускают запись всем пользователям, PHP будет вызывать ошибку. В этом случае необходимо установить корректные права на файлы и папки, а также правильные параметры в dbconn.php. | ||
Пример: Особо чувствительны к размеру памяти и времени выполнения различные скрипты импорта-экспорта данных. Если у вас возникают ошибки – проверяйте доступность ресурсов на хостинге, в случае их нехватки смените хостера. | ||
Специально для хостинг-провайдеров и разработчиков компания «1С-Битрикс» выпускает оптимально настроенную виртуальную машину. Ее удобно установить и вести на ней разработку, а в случае настройки своего сервера – подсмотреть параметры программного обеспечения или просто развернуть ее в качестве операционной системы сервера.