Технические характеристики сервера для хостинга сайта
Статья написана совместно с дата-центром FREEhost.UA
Большинство компаний и частных предпринимателей имеют собственные сайты. В разработку веб-представительства вкладывается много средств и времени. Но желаемой цели достигают не все. Безусловно, важнейшие составляющие успеха — это качество продукта или услуги, маркетинг и удобство сайта. Но есть еще один пункт, о котором иногда забывают, — хостинг. Место размещения сайта влияет на скорость его загрузки и доступность в сети. Поэтому к выбору хостинга нужно относиться ответственно.
Что такое хостинг и его виды
Хостинг — это место для хранения файлов веб-сайта и программного обеспечения для управления сайтом. Есть несколько распространенных видов хостинга:
- виртуальный хостинг для размещения сайтов (Shared);
- виртуальный выделенный сервер (VPS-сервер);
- облачный хостинг (Cloud hosting);
- физический выделенный сервер (Dedicated);
- размещение сервера клиента в дата-центре хостинг-провайдера (сollocation).
В этой статье мы подробно остановимся на проблеме выбора физического сервера для организации хостинга сайтов, а также детально опишем основные параметры хостингов.
Параметры хостингов: что нужно учесть при выборе
В первую очередь при выборе хостинга необходимо обратить внимание на следующие моменты:
- объем дискового пространства, предоставляемого для размещения сайта;
- стек программ и инструментарий для управления сайтом;
- организация тех. поддержки хостера;
- соотношение стоимости/качества услуг хостинга.
Объем дискового пространства — на сегодняшний день это очень недорогой ресурс, поэтому реально подобрать такие тарифные планы, на которых хостеры его выделяют с избытком. Скрипты занимают, как правило, небольшой объем дискового пространства. Основное место используется медиаконтентом: изображениями и видеофайлами. Поэтому если у вас сайт-визитка или электронный магазин с небольшим количеством товаров, 1ГБ места на жестком диске для размещения сайта будет достаточно.
Тип дискового накопителя — выделяют три типа: HDD, SSD и NVMe SSD.
HDD — это наиболее старый и самый медленный вариант дисков, но при этом цена одного гигабайта самая низкая. Такой тип хранения данных стоит выбирать, если скорость доступа к информации не имеет значения и более важен объем.
SSD — диски этого типа в 4-5 раз быстрее по сравнению с HDD. Особенно это сказывается при чтении небольших файлов. Место на них стоит дороже. SSD чаще всего используются на серверах благодаря совместимому интерфейсу подключения с HDD дисками и экономичному энергопотреблению. Например, чтобы увеличить скорость загрузки сайтов на старых серверах виртуального хостинга, в течение года FREEhost.UA заменил все HDD диски на SSD. После чего скорость загрузки сайтов возросла в 1.5-2 раза.
NVMe SSD — самый производительный тип дисков. Преимущество в скорости по сравнению с HDD достигает 10-12 раз. Однако это самый дорогой тип носителя. Для его подключения на сервер требуется дополнительное оборудование, поэтому NVMe SSD менее распространены. Целесообразно использовать такие диски в местах, где скорость это приоритет. Например, на серверах баз данных.
Центральный процессор (CPU) и количество выделенных ядер — для недорого виртуального хостинга такой показатель отсутствует, его можно встретить на бизнес-хостинге. Обычно CPU характеризуется частотой процессора на сервере и наличием выделенных ядер. Чем выше частота процессора, тем быстрее выполняется операция. В случае если выделенные ядра процессора не указаны, процессорное время разделяется между всеми пользователями сервера. Поэтому, если сосед по серверу слишком активно использует процессор, остальные сайты сервера будут работать медленнее.
Регион размещения серверов провайдера — если целевая аудитория сайта находится в Украине, не стоит размещать проект на серверах в США. Чем больше расстояние от посетителя до сервера, тем медленнее будет грузиться сайт. Для поисковых систем локация сервера помогает определить регион к которому относится проект.
Далее следует обратить внимание на инструментарий и стек программного обеспечения, который предоставляет вам хостер, а именно:
Неограниченный трафик для вашего веб-проекта
Трафик — объем информации, который может быть передан и получен сервером, где размещен сайт. Для небольшого корпоративного сайта этот параметр можно игнорировать, но для крупных проектов он может быть достаточно важным. Дополнительный трафик либо предоставляться за доплату, либо скорость доступа будет ограничена после достижения лимита.
Поддержка необходимого программного стека
Стандартный виртуальный хостинг обычно поддерживает такие технологии: PHP, MySQL, PostgreSQL, phpMyAdmin. Этого достаточно для размещения сайта, созданного на таких популярных CMS, как WordPress, Joomla, Drupal, «1С-Битрикс». Иногда у сайта могут быть специфические требования, например, необходим язык программирования Python, либо брокер сообщений RabbitMQ, или нужен определенный набор модулей PHP. Поэтому перед выбором хостинга стоит ознакомиться с техническими требованиями программного продукта, размещенного на хостинге.
Доступ к сайту по FTP и SSH
FTP — стандартный метод работы с файлами на хостинге. Для него можно использовать FTP-клиент или webftp.
SSH и SFTP — используются более продвинутыми пользователями. Эти протоколы позволяют работать с файлами непосредственно на сервере. С помощью SSH можно выполнить дополнительную настройку и установку программ внутри своей виртуальной среды.
Электронная почта
Тут стоит обратить внимание на количество и размер почтовых ящиков, а также на протоколы, по которым можно работать с почтой. POP3 и SMTP — это стандартные протоколы приема и отправки почты. Удобно, чтобы был еще IMAP. В отличие от Pop3, этот протокол позволяет работать с почтой прямо на сервере, распределять ее по папкам и создавать фильтры. Есть еще дополнительные функции, которые может реализовать провайдер по работе с почтой. Например, на хостинге FREEhost.UA доступны следующие функции: автоответчики, переадресация входящих писем, спам-фильтр, антивирус, web-почта, совместный календарь и записная книга для пользователей домена, импорт почты из другого сервера.
Резервное копирование
Бекап нужно делать всегда. Это золотое правило всех опытных программистов и администраторов. Поэтому, выбирая хостинг, обратите внимание на наличие этой услуги на период хранения резервных копий, и включены ли бекапы в дисковую квоту аккаунта.
Бесплатный SSL-сертификат
SSL-сертификат используется для безопасного подключения к сайту. Это must-have для любого сайта, работающего с персональными данными пользователей и электронных магазинов.
Детализация подобных услуг:
Техническая поддержка — один из основных факторов, влияющих на качество и стоимость услуги. Обычно техническая поддержка включена в коммерческие тарифные планы виртуального хостинга. Для услуг VPS и аренды сервера поддержка делится на несколько уровней, в зависимости от типа и сложности запросов. Базовая поддержка обычно включается в стоимость тарифного плана, а расширенная является платной услугой.
Если наличие помощи от специалистов компании для вас важный фактор, стоит обратить на следующие моменты:
- поддержка 24/7;
- наличие связи по телефону, электронной почте, чату;
- заявленный SLA на скорость ответа технических специалистов;
Для VPS и аренды сервера стоит уточнить, какие именно услуги входят в базовую и расширенную поддержку.
Аптайм — это период времени непрерывной доступности хостинга (сайта или сервера). Даунтайм (downtime) — это время простоя веб-ресурса по причине технического сбоя на сервере. Конечно, любой хостинг-провайдер стремится к показателю аптайма 100%, но достичь его на практике нереально. Пользователю стоит выбирать хостинг с показателем Uptime не менее 99,9%. Существует классификация Tier для определения уровня надежности ЦОД, которая поможет с выбором наиболее надежного сервера для размещения вашего веб-проекта. Наилучший показатель аптайма (Tier 4) — это 99,995% (простой сервера примерно 0,4 часа в год).
Объем оперативной памяти — количество оперативной памяти, выделяемое под ваш веб-ресурс. Как правило, на дешевых тарифных планах Shared-хостинга может не указываться, но при заказе VIP-планов, VPS или выделенного физического сервера специалисты хостинг-провайдера обязательно укажут вам этот параметр. Для работы любого (не статического) сайта на CMS необходимо от 256 Мб RAM.
PHP memory_limit (МБ) — объем данных, которые PHP-процесс может сохранить в оперативной памяти. Данный параметр может влиять на скорость работы сайта. Здесь необходимо понимать разницу и соотношение с предыдущим параметром. Например, высокий показатель PHP memory_limit позволяет обработать сложную операцию либо большой набор классов, но если вам выделен небольшой общий объем памяти (RAM), то на обработку второго процесса уже может ресурсов и не хватить.
Memcache — сервис для дополнительного кэширования информации в оперативной памяти. Используется для повышения скорости доступа к часто используемым данным и возможности обмена информацией между скриптами.
Количество сайтов — число сайтов, которые вы можете разместить на хостинге (не учитывая поддомены).
Базы MySQL — число баз данных MySQL, которое хостер разрешает разместить согласно вашему тарифному плану (как правило, равняется числу сайтов, но может быть и больше его). Это важный параметр, на который стоит обращать внимание, поскольку весь динамический контент сайта обычно хранится в базе данных. Например, сайт на CMS WordPress или Joomla запустить без базы MySQL нельзя. Обычно для каждого сайта используется отдельная база данных. Поэтому количество баз данных в тарифе не должно быть меньше количества сайтов.
MySQL max user connections — максимальное количество соединений с базой данных, которые могут быть установлены одновременно. Данный параметр может ограничить количество посетителей на вашем сайте, поэтому если у вас планируется большая посещаемость, то старайтесь выбрать хостинг, у которого этот параметр повыше. Также советуем обратить внимание на значение предыдущего параметра, у некоторых хостеров в тарифных планах предлагается неограниченное количество баз данных (для одного пользователя) и небольшое значение параметра MySQL max user connections. Таким образом, происходит естественное ограничение использования баз данных MySQL.
Время отклика (T в формуле) — это временной период (в миллисекундах) между моментом отправки первого байта информации (по протоколу http методом GET) и моментом получения первого ответного байта от сервера.
HTTPS (выдача бесплатных сертификатов SSL) — поддержка передачи данных по защищенному протоколу https.
IPv6 — наличие поддержки новой версии протокола IP.
Индекс производительности — это параметр в условных единицах, определяющий объем вычислительной мощности, доступный для конкретного аккаунта на хостинге. Чем больше этот параметр, тем больше ресурсов можно использовать для сайтов пользователя, чтобы сделать их работу более быстрой.
Данные сервиса Whois — включают в себя параметры физического сервера, на котором размещается сайт самого хостинг-провайдера, а также параметры, указанные администратором сайта хостинга при регистрации доменного имени (хостер, адрес хостера, сервер, описание сервера, адрес сервера).
Критерии выбора сервера для хостинга
В этом разделе мы расскажем о нюансах выбора выделенного сервера для хостинга (Dedicated server). В отличие от VPS, где пользователи делят ресурсы, при заказе выделенного сервера вы получаете в свое распоряжение полностью физический сервер. Здесь есть как плюсы, так и минусы. С одной стороны, вы не ограничены в размещении любых, даже самых ресурсоемких веб-проектов, с другой стороны, администрирование такого сервера — это ваша обязанность и ответственность.
Но на первом этапе, необходимо выбрать конфигурацию сервера, которая наилучшим образом будет соответствовать выполнению ваших задач. Ниже остановимся на основных моментах по выбору процессора, оперативной памяти, объема дискового пространства, которые помогут вам при заказе выделенного сервера.
На первом этапе необходимо определиться, какие задачи будет решать новый веб-проект (интернет-магазин, корпоративное веб-приложение, резервное копирование, работа с БД, почтовый сервер, веб-портал, хранилище офисных документов и т.д.). В зависимости от вида задач и подбирается оборудование. Может быть, вам понадобится большая частота процессора или количество ядер побольше или больше оперативной памяти, здесь нужно учесть все нюансы.
Выбор процессора: в данном случае необходимо учитывать 2 характеристики — частоту и количество ядер. Есть задачи, которые решаются именно на процессорах с большим количеством ядер. К примеру, для веб-сервера NGINX важно именно количество ядер. Для решения задач по виртуализации или обработке видео также советуем выбирать сервер с большим количеством ядер. Если вы планируете запускать процессы, где требуется многопоточность и параллельные вычисления, то количество ядер процессора для вас очень значимый параметр, а вот частота процессора уже не так важна.
С другой стороны, есть задачи и процессы, где количество ядер совсем не важно, а вот частота процессора имеет приоритет. Например, MySQL плохо работает с многопоточностью, поэтому лучше выбрать процессор с большей частотой, а количество ядер может быть небольшим. Аналогичным образом можно ориентироваться и при работе с 1С: выбирайте процессоры с большей частотой, но меньшим количеством ядер.
Если же у вас проект очень бюджетный и для сервера не нужен мощный процессор, то можно сэкономить средства и выбрать менее производительные сервера из предыдущих поколений.
Оперативная память: в последнее время цены на данный ресурс стали менее высокими, поэтому советуем выбирать конфигурации с большим объемом оперативной памяти — так приложениям будет проще хранить наибольшее количество данных.
Объем дискового пространства (HDD/SSD): при выборе дисковых накопителей следует обратить внимание на следующие факторы — время доступа к диску, его емкость и цену. Эти факторы взаимосвязаны между собой. Например, стоимость SATA-дисков невысокая, хостеры предлагают недорого SATA-диски на несколько терабайт, однако такие диски имеют большое время доступа. SSD имеют небольшое время доступа, но пока еще дорогие. Поэтому наш совет: для организации загрузочного раздела следует выбрать небольшие по объему SSD, то же самое можно сделать и для хранения БД. А вот для организации файловых хранилищ с большими объемами статических данных или для резервных копий можно смело выбирать большие по объему SATA.
Если для вас важна сохранность ваших данных, то стоит обратить внимание на RAID-массивы, которые служат для объединения нескольких дисков в один модуль, для увеличения уровня отказоустойчивости и скорости записи, а также чтения данных. При отказе одного или даже нескольких SATA или SSD, вам все равно будут доступны ваши данные.
Возможно выбрать аппаратную реализацию RAID (HARD RAID) или программную (SOFT RAID). Также существуют стандартные уровни RAID-массивов, например, RAID 0, RAID 1, RAID 5, RAID 10.
Пропускная способность сети: как правило, хостинг-провайдеры могут предложить порты Ethernet на 100 Мбит/с и 1 Гбит/с. Эти порты можно использовать как для выхода в интернет, так и для организации локальной сети. В этом случае использование портов на 1G или 10G также зависит от ваших задач. Например, вы разнесли базу данных, сайт и корпоративную почту по отдельным серверам, в результате нагрузка на каждый сервер однотипная, и приложения «не воруют» друг у друга ресурсы, поэтому серверы эффективно работают. Но после вынесения сервера БД на отдельную машину может снизиться скорость взаимодействия приложения с базой из-за латентности сети (под «сетевой латентностью» подразумевается временная задержка, которая возникает при передаче данных или запроса, посылаемого по сети). Проблема решается заменой сетевых интерфейсов с 1G на 10G для того, чтоб снизить такого рода задержки.
Практические аспекты выбора сервера для конкретных задач
Покажем на практическом примере, как при помощи наших советов выше правильно выбрать сервер под конкретный веб-проект. Например, у вас интернет-магазин по продаже продуктов питания. Ежемесячный трафик в таком проекте — примерно 45-50 тыс. посетителей, каталог сайта где-то 4000-4500 товарных позиций. У такого крупного проекта большая часть информации хранится в базе данных, часто выполняется поиск по товарам, и много изображений продуктов. Поэтому при выборе сервера нужно будет ориентироваться на следующие характеристики:
- Для базы данных MySQL нужно больше оперативной памяти под кеш и быстрые NVMe диски.
- Для хранения изображений будем использовать SSD-накопители большого объема.
- Для скриптов сайта и загрузочного диска используем SSD.
Для того чтобы обеспечить хорошую скорость загрузки, в качестве HTTP сервера используем NGINX, поэтому ядер у процессора должно быть много.
В результате нашим требованиям будут отвечать серверы на базе процессора Intel Xeon (серверная линейка процессоров Intel) либо AMD Ryzen 9. Эти процессоры имеют достаточное количество ядер и высокую производительность. С их помощью мы сможем создать на сервере нужное количество виртуальных машин и выделить им требуемые ресурсы.
Для хранения информации выбираем 2 X 240 Gb NVMe SSD, 2×960 GB SSD, 2×240 GB SSD. Обратите внимание, все разделы находятся в рейд-массивах. Диски — это расходный материал, рано или поздно они выйдут из строя. Для того чтобы в случае поломки диска данные о товарах и услугах не удалились, выбирайте обязательно конфигурацию с RAID. Если случится сбой, то интернет-магазин все равно продолжит работу в штатном режиме, а данные не пропадут. Мы можем посоветовать именно программную реализацию RAID (SOFT RAID). В данном случае, диски будут подсоединены непосредственно к серверу без использования аппаратного контроллера RAID, выбранная конфигурация RAID (например, RAID1) будет обслуживаться специальной утилитой, входящей в серверную ОС. Данный метод организации RAID-массива — современный, экономически выгодный и удобный по сравнению с HARD RAID.
Оперативной памяти необходимо взять не менее 64 ГБ. Больший объем оперативной памяти пригодится нам для организации кэширования данных MySQL, это даст возможность ускорить загрузку сайта и снизить общую нагрузку на диск. Также можно будет ускорить процесс чтения данных, использовав дополнительную оперативную память для кэша файловой системы. Вот пример подобных серверов для аренды в дата-центре FREEhost.UA:
Нельзя забывать, что интернет-магазин — это всегда большой трафик, поэтому стоит предусмотреть пропускную способность сети не менее 1G.
Выбранные тарифные планы по аренде сервера позволяют использовать технологию IPMI (Intelligent Platform Management Interface), что означает возможность подключения к серверу удаленно для управления его работой.
При планировании крупных интернет-проектов следует применять горизонтальное масштабирование, т.е. размещение серверов, например, сервер приложений, почтовый сервер, клиентский сервер, сервер БД, сервер файлового хранилища и т.д. Если предполагается большая нагрузка на всю систему, то заранее нужно провести испытания по нагрузочному тестированию.
Заключение
Думаем, что данная статья окажется полезной для IT-специалистов при выборе сервера для хостинга сайтов. Прежде чем выбирать сервер, пользователю следует ознакомиться с нашими советами, а также:
- Определиться с задачами, которые будет решать ваш интернет-проект.
- Изучить основные параметры хостингов, характеристики серверов и тарифные планы хостеров. Выработать требования к серверу и составить оптимальную конфигурацию.
- Перед заказом услуги хостинга обратить внимание на надежность хостинговой компании, наличие у нее своего дата-центра и предоставляемого оборудования, а также на соотношение цены и качества.