Как выбрать сервер для сайта

Как выбрать сервер?

Оборудование — важный компонент инфраструктуры организации. Максимальная эффективность процессов деятельности обеспечивает колоссальный доход. И сейчас не только про кофемашину и кондиционер. Есть не менее полезные вещи. Например, вычислительная техника, и раз речь зашла о ней, то пришло время рассказать как выбрать сервер в 2020 году.

С чего начнем выбор серверного оборудования

К столь ответственной теме необходимо правильно подойти. Аккуратненькими семимильными шагами. Главное, обойтись без прыжков: четко формулировать требования и думать наперед, ведь рано или поздно придется обновляться. Святая цель для меня подробно разжевать дальнейший процесс:

Формулируем задачи, которые будет выполнять серверное оборудование.

Определяемся с конфигурацией.

Теперь, каждый пункт требует отдельного абзаца как минимум, чтобы было понятно, какие предпринять шаги далее.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Какие действия выполняем

Если желаете узнать, как выбрать аппаратуру, начнем с задач, которые устройство должно выполнять. Сами понимаете, пылесосить кабинет, мыть полы, делать массаж начальнику обозреваемая техника не будет, но очень надеюсь, что в дальнейшем недочет исправят и добавят столь нужные функции. Пусть даже оплачиваемые по подписке. Представьте, насколько легче станет уговорить начальство на покупку оборудования! Гипотетическая ситуация, приходит админ к начальнику:

— Господин рабовладелец, требуется срочно купить сервак!

— Можем разместить на нем 1С, чтобы бухгалтерия не ныла, заодно закинем базы данных, работать станет намного приятнее.

— Он еще делает массаж и вульгарно танцует на столе.

— Бюджет выделю завтра, берем!

Ладно, шутки шутками, но понятно, что у подобного оборудования есть четкое назначение. Но сначала сформулируем задачи. Итак, что способно делать сие устройство?

Подобный класс оборудования относится к вычислительной технике, подвид — извращенская- профессиональная. Предназначен для работы со специфическим программным обеспечением, вычислений, виртуализации и даже для размещения сайтов и подготовки игровых сессий в многопользовательском режиме. Собственно, перед тем, как продолжить, стоит поговорить о назначении. Небольшое отступление и перейдем непосредственно к сферам деятельности.

Видите отличия? Нет? А они есть?

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

Собственно, каковы отличия? Начнем с банального:

у профессиональной техники выше производительность (за счет многопроцессорных систем, поддержки дофигища ОЗУ и т. д.);

есть возможность собирать нестандартные конфигурации;

стоят бешеных денег.

Производительность. В потребительском сегменте нет многопроцессорных систем, которые позволяют разместить несколько терабайт ОЗУ, а это напрямую сказывается во многих сферах. В частности, ЦОД без такой возможности точно не выживет.

Банальный пример. Есть устройство, на котором размещена огромная база данных, к примеру для части социальной сети, которую посещают тысячи человек ежедневно. Соответственно, запросы всех посетителей должны быть своевременно обработаны, иначе пойдут регистрироваться в Одноклассники (печальная участь), собственно, каждый пользователь, хоть не всегда знает об этом, взаимодействует через интерфейс социальной сети с БД, она может быть разрознена, юзер будут обращаться к разным таблицам. Получается серьезная смешанная нагрузка, которую ПК попросту не вытянет. Как бороться с параллельными запросами, оставляя людям комфорт?

Вместо жестких дисков, ставим SSD, дорого, сердито, зато очень быстро.

На каждую тысячу пользователей выделяем отдельный сервер, создаем кластер.

Второе, приходится распределять нагрузку. То бишь, одну часть привязать к одному процессору, вторую к другому. В пользовательском устройстве такой возможности нет, как и поддержки многопроцессорных систем.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Терминальный доступ

Один из видов экономии — терминальные решения. Выглядит довольно просто. Есть одно мощное устройство, на котором выполняются программы. По сути, все юзеры работают на одном устройстве посредством тонкого клиента. То бишь устройства, которое не обладает значительной мощностью, а предназначено только для ввода-вывода данных.

Есть еще толстый клиент. Это устройство может брать выполнение части функций на себя, например, первоначальную обработку данных, формирование таблиц. В общем, зависит от ПО.

Если желаете сэкономить, то это ваш вариант. Про терминальный сервак подробнее прочитать по ссылке. Просто кликните по заголовку.

Теперь перейдем к практической части. Итак, есть программное обеспечение, которое весьма требовательно. Выделять отдельный производительный компьютер каждому пользователю смысла практически нет.

Начнем с программного обеспечения. Ключевым фактором является поддержка терминального режима. Лицензии и все остальное — другая тема. Если поддержка есть, то смотрим требования к ПО. Учтите, отдельная сессия не есть столько же ресурсов, сколько съедает запуск самого приложения.

Итак, смотрим требования. Считаем количество сотрудников, которые теоретически будут с ним работать, на практике известно, что бездельники. Каждому человеку выделяем на сессию определенную численность ресурсов. Обычно, процентов 5 – 1 0 от основных требований программного обеспечения, но лучше покопаться на тематических фо румах. Соответственно, выбрать сервер придется с учетом всех требований.

Виртуализация

Предположим, есть десяток человек, которым требуется выделить обособленную операционную систему. Покупать каждому отдельную ОС и персональный компьютер? Зачем? Можно установить север, создать на нем 10 виртуальных машин и дать юзерам. Напоминает чем-то терминальный доступ, только есть существенное отличие: каждая виртуальная машина полностью имитирует физическую.

О виртуализации еще расскажу, но она считается все более востребованной среди людей.

Обслуживание сети

Вычисления и графика

Изредка, а порой часто необходимы вычисления либо работа с графическими приложениями. В данном случае рекомендуется брать сервер с возможностью установки видеокарт. Не все для данной цели подходят.

Файловый сервер, видеонаблюдение

Здесь ключевым элементом становится дисковая память и RAID. Нужно обеспечить нормальную скорость доступа к памяти, при этом чтобы был большой объем. Правда, наиболее адекватный и выгодный вариант для этих целей — применение систем хранения данных. Например, NAS.

К ак видите, сфер применения предостаточно, как говорится, на что хватит фантазии. Теперь пришло время узнать, как выбрать сервер. Начнем по порядку.

Начнем с первого пункта. Сначала определяемся с назначением. Тут все довольно просто. Наверное, вы уже знаете, для чего серверное оборудование необходимо, ведь не просто так решили поискать тематический текст? Дальше дела обстоят несколько сложнее и разжевать довольно трудно.

Требования

Итак, с назначением определились, но у каждого назначения есть собственные нюансы и подвохи, прямо как у девушек Таиланда. Начнем по порядку. Цель сформулировали, теперь ключевым моментом является выбор. На что стоит обратить внимание?

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Процессор. Не все приложения способны работать в многопоточности, некоторые наоборот, предпочитают кучу ядер. При выборе очень внимательно смотрит на требования ПО, ищите информацию по тематическим форумам, там, возможно, укажут на существующие нюансы и проблемы. Иногда можно собрать многопроцессорные системы. Например, для виртуализации или терминального доступа — отличный вариант.

Оперативная память. Предпочтение стоит отдать RAM, которая поддерживает ECC (автоматическая коррекция ошибок), она позволит работать устройству 24/7 без необходимости перезапуска. Обычная ОЗУ ошибки может только обнаружить, а вот исправить не способна. И да, процессор функцию ECC должен поддерживать.

Отказоустойчивость. Главный расходный компонент — накопители и блоки питания. Отключение устройства бывает смерти подобно, допускать этого не рекомендуется. На современных серверах можно установить несколько блоков питания с возможностью горячей замены, в случае отключения одного, работоспособность может обеспечить другой. При этом его можно извлечь без обесточивания устройства и установить новый. С накопителями то же самое. И не стесняйтесь строить безопасные RAID, например, шустренькую десятку. Да, дисков потребуется много, зато отказоустойчивость и скорость на высоте.

Удаленное управление. Некоторые системы, например, от производителя Dell, HPE имеют встроенные на уровне контролера системы удаленного доступа и мониторинга. Удобные штуки, можно включать выключать, следить за состоянием устройства, настраивать техническую часть. Другие производят только платформы, например, Intel, Supermicro. Тут можно установить просто подходящий контроллер, который позволит делать то же самое.

Видеокарта. В вычислениях либо при работе с графикой без них не обойтись. Должны быть слоты PCI-E в достаточном количестве, многие платформы сейчас поддерживают возможность установки нескольких видеокарт. А профессиональные видеокарты можно объединять в большие формации, что с потребительскими не пройдет.

Напоследок

Но, направление задал, надеюсь, стало хоть чуть-чуть понятнее как выбрать сервер, в противном случае текст писал напрасно. Н екоторые ссылки здесь оставил. Возможно, помогут немного прояснить ситуацию в обширной теме.

Источник

Как выбрать сервер

1-й этап — выбрать серверную платформу

Свой сервер или аренда — плюсы и минусы:

ПлюсыМинусы
Собственный серверВысокая производительность, полный контроль при настройке, низкая стоимость владения.Высокая стартовая стоимость, необходимо обслуживание оборудования своими силами, требуется наличие места для размещения сервера.
Арендованный серверНизкая стартовая стоимость, не требуется обслуживания оборудования, простая возможность размещения сервера за пределами РоссииОтносительно низкая скорость ответа из-за удаленного расположения, при отсутствии Интернета пропадает возможность работать с сервером, высокая стоимость владения из-за постоянной абонентской платы
Арендованный физический серверОтносительно высокая производительностьВысокая стоимость
Арендованная виртуальная машинаНизкая производительностьОтносительно низкая стоимость
Облачный сервисНет необходимости в настройке и обслуживании сервиса, отказоустойчивостьНет возможности самостоятельной настройки сервиса

2-й этап — выбрать основные комплектующие для сервера

Определите системные требования к приложениям, которые будут установлены на сервер. На основе анализа выберите комплектующие:

3-й этап — дополнительные расходы

Не обязательный этап. По сути, данные компоненты не имеют отношения к самому выбору сервера, но они значительно могут улучшить КПД последнего.

Примеры правильного выбора сервера

Задача №1: необходим сервер для размещения сайта-визитки.

Задача №2: необходим сервер виртуализации.

Задача №3: компании, которая начала свою деятельность (низкий бюджет, мало сотрудников), нужен почтовый сервер с возможностью настройки сложных фильтров входящих сообщений.

Типы серверов и потребляемые ресурсы

Попробуем разобрать часто настраиваемые серверы и ресурсы, которые они потребляют в большей степени.

Сервер баз данных

Диски стоит выбирать максимально производительные (SAS или SSD). Их объем стоит выбирать по ситуации — в зависимости от потребления пространства программным обеспечением. MS SQL может потреблять больше памяти, так как по умолчанию он сконфигурирован занимать всю оперативную панять содержимым баз.

Сервер виртуальных машин

Источник

Хостинг: варианты, сравнения, пользовательская статистика

Удивительно, но из обилия статей на тему хостинга в Интернете едва ли найдётся десяток, где тема раскрыта доступным для всех языком. Часто даже профессионалы и опытные пользователи отмечают, что в большинстве описаний «чёрт ногу сломит», особенно на сайтах компаний, предлагающих эту услугу. Что уж говорить о тех, кто не разбирается в цифровых технологиях, но хочет их использовать в своём бизнесе с пониманием хотя бы основ.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Мы хотим исправить ситуацию и рассказать доходчиво для интересующихся любого уровня подготовки к вопросу, какие сегодня есть возможности хостинга, чем они отличаются, каковы преимущества одних перед другими и какова пользовательская статистика в России и за рубежом. Статья рассчитана на широкий круг читателей от неофитов до продвинутых юзеров (поэтому в скобках часто даны объяснения терминов, хорошо известных опытным пользователям).

Для начала немного введём в курс дела тех, кто не разбирается в теме статьи и обозначим, что такое хостинг и кому это надо.

Хостинг (hosting) — это услуга, предоставляемая компаниями хостинг-провайдерами (хостерами), которая заключается в размещении информационных ресурсов пользователей на их (компаний) серверах. Функциональность сервера зависит от установленного программного обеспечения, которое, в свою очередь, зависит от операционной системы. Хостинги отличаются наличием тех или иных служб, возможностью поддержки различных технологий, языков программирования и скриптов. Также различаются по количественным и качественным ограничениям (дисковое пространство, количество сайтов, пропускная способность каналов и прочее). Доступ пользователя к своим данным реализован через личный кабинет. Обработка запросов к информационным ресурсам заказчика ведётся в режиме реального времени 24/7. В услугу хостинга входит техподдержка, обеспечение безопасности и резервное копирование данных.

Информационные ресурсы (здесь) — это сайты различного функционала: интернет-магазины, корпоративные сайты, интернет-порталы, информационно-новостные сайты, веб-сервисы. Они состоят из обилия цифровых данных:

Что такое выделенный сервер

Начать стоит именно с него, потому что остальные хост-услуги являются виртуальными аналогами выделенного сервера.

Выделенный сервер (dedicated server) — это реальный физический сервер (bare-metal server), который хостинг-компания предоставляет клиенту в аренду. Важно то, что хостер выделяет сервер клиенту целиком в нераздельное пользование, то есть все ресурсы сервера, всё его «железо» используются только одним арендатором. Есть возможность гибкой настройки системы и оптимизации её «под себя», включая установку ПО. По причине полного владения выделенный сервер — самая дорогая хостинг-услуга.

Это мощный компьютер, установленный в стойку с другими подобными серверами и коммутатором. Серверные стойки локализуются в хостерских ЦОДах или индивидуальных дата-центрах (то есть принадлежащих самой компании для её бизнес-целей; в этому случае речь не идёт о выделенных серверах, поскольку их никто не выделяет в аренду — машины являются собственностью компании и называются просто серверами).

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Выделенный сервер необходим для размещения проектов, которые либо требуют мощных вычислительных ресурсов, либо не могут соседствовать на одной машине с другими проектами или их компонентами (например, сложное бизнес-приложение, или база данных, или площадка сетевой игры), либо требуют прямого доступа к оборудованию.

▍Критерии выбора выделенного сервера

Что такое виртуальный хостинг

Виртуальный хостинг (shared hosting) — это предоставление в аренду одного физического сервера сразу нескольким арендаторам. Его аппаратные мощности распределяются между всеми пользователями. Во избежание неравномерности распределения мощностей машины (процессорной мощности, дисковой и оперативной памяти) и их дефицита во время пиковых нагрузок некоторые хостеры ограничивают ресурсы сервера для скриптов отдельного пользователя (script — файл или программа со сценарием автоматизации некоторых процессов сайта). Настройка «под себя» отсутствует — все пользуются одним и тем же ПО, которое устанавливает провайдер. Подходит для небольших и несложных проектов. Это самый дешёвый вид хостинга.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

▍Критерии выбора виртуального хостинга

Что такое VPS и VDS

VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) — по сути одно и то же. Это виртуальные серверы, эмулирующие работу физического сервера и предоставляемые хостером в аренду клиенту с максимальными привилегиями: установка операционной системы и программного обеспечения, root-доступ (права главного администратора). Клиент получает в пользование выделенные аппаратные ресурсы сервера с полным управлением и контролем, но, возможно, не все, имеющиеся на машине. То есть на одном физическом сервере запущено несколько виртуальных серверов под разных клиентов, но на каждом из них администратор (заказчик) может работать так же, как на отдельной физической машине, при этом арендная плата существенно ниже, чем за выделенный сервер.

▍Разница между VPS и VDS

VPS. Виртуализация такого сервера осуществляется в рамках операционной системы (контейнеризация) с помощью специальных технологий (FreeBSD Jail, Parallels Virtuozzo Containers, iCore Virtual Accounts, OpenVZ и других). Клиент может работать в персональном изолированном программном окружении с правами суперпользователя, но не может поменять саму операционную систему или её ядро. Также существуют разные лимитирования, основанные на политике хостера (например, непрерывная доступность ресурсов сервера).

VDS. Виртуализация этого вида сервера осуществляется на аппаратном уровне. Это физическое выделение ресурсов машины, точнее эмуляция её физических элементов при помощи специальных технологий (VMWare, LDoms, KVM, Microsoft Hyper-V, XEN). Клиент не только получает в постоянное пользование ресурсы CPU, дискового пространства и памяти, но также может устанавливать иную операционную систему и совершать её модификации вплоть до смены настроек BIOS.

Этот тип хост-услуг набирает всё большую популярность в мире благодаря соотношению цена/качество. Под качеством здесь понимается в первую очередь широта возможностей управления своими хостируемыми проектами и простота масштабируемости выделяемых ресурсов. Помимо владельцев или системных администраторов сайтов, его особенно любят разработчики для собственно разработки и тестирования нового ПО. А бизнесу VPS/VDS хостинг помогает сократить расходы.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

▍Критерии выбора VPS/VDS

▍Статистика использования VPS в диаграммах

На основе поисковых запросов 500 000 российских пользователей в 2017 году на сайте poiskvps.ru

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

По данным J’son & Partners Consulting оборот российских хостеров в сегменте IaaS примерно совпадает с затратами российских компаний на западные хостинг-сервисы.

Что такое облачный хостинг

Облачный хостинг использует облачные ресурсы для развёртывания сайтов, мобильных приложений и даже целых «офисов в облаке» (виртуальный офис). В отличие от других видов хостинга это происходит не на одном локальном сервере, а на нескольких связанных в кластер физических и виртуальных серверов к которым добавляются связанные в сеть системы хранения данных (SAN). При аренде пользователь платит только за используемые по факту ресурсы, которые могут быстро масштабироваться или отключаться в зависимости от нужд. Причём оплата почасовая, то есть можно настроить потребление ресурсов в дневное и ночное время. Настройки могут регулироваться в автоматическом режиме через приложение. Эта гибкость — основное преимущество облачного хостинга.

Облачная модель набирает популярность во многом благодаря разработкам BaaS (Backend-as-a-Service — бэкенд как услуга) и IaaS (Infrastructure-as-a-Service — инфраструктура как услуга). Не будем углубляться в её описание, так как это выходит за рамки статьи. Скажем только, что разработчиков привлекает в ней универсальность кросс-платформенного бэкенда для любого проекта, а владельцев бизнеса — надёжность резервного копирования и удобство коллективной работы над проектами. Подходит для крупных и быстрорастущих проектов, компаний с сезонными колебаниями спроса.

В облаке сайты размещаются в обособленных средах — контейнерах. В одном контейнере, например, могут располагаться рабочие версии сайтов, в другом — тестовые. Процессы и возможные неполадки в работе сайтов как внутри контейнеров, так и между контейнерами никак не отражаются на остальных сайтах. Внутри отдельного контейнера можно размещать неограниченное количество проектов.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

▍Критерии выбора облачного хостинга

▍Облачная статистика по России

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Источник: iKS-Consulting, 2016.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Источник: iKS-Consulting, 2018.

Сравнение выделенного сервера, виртуального сервера, виртуального хостинга и облачного хостинга

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Резюмируя, отметим: выбирая хостинг-провайдера, ориентируйтесь не только на обещанную информацию с его сайта и отзывы — задавайте ему вопросы! Вплоть до того, как обеспечена пожарная безопасность в ЦОДе. Помните о масштабируемости проектов — то, что сейчас представляет собой ваш сайт может весьма отличаться от того, чем он будет через 2 года. Определившись с типом хостинга, следуйте нашим рекомендациям из разделов «критерии выбора», которые есть в каждом блоке.

Источник

Выбор режима работы web-сервера на личном опыте

Эта статья будет полезна тем людям, у которых уже есть свой сайт, или которые планируют его открыть. Особенно интересна статья будет амбициозно настроенным вебмастерам, которые чувствуют, что звездный час их проекта не за горами и хотят подготовиться к наплыву посетителей страницы.

Даже те, кто пока только мечтают о тысячах пользователей на своём сайте, наверняка задавались вопросом: “А сколько же пользователей мой сайт выдержит, если они зайдут одновременно?” Сразу вспоминается известное выражение “Хабраэффект” – явление отказа сайта, который оказался не готов к многочисленным переходам на него после появления в интернете ссылки.

Предположим, что сайт уже есть (или скоро будет): где же его разместить? Это должен быть классический хостинг или vps-сервер? Если vps, то какой и как его лучше настроить? А может быть вообще нет никакой разницы и проще выбрать то, что подешевле? В этой статье мы рассмотрим несколько вариантов и на практике убедимся, какой из них подойдёт лучше для нашего сайта.

Будем экспериментировать: ставить разные режимы работы сервера и замерять производительность. Нагрузку на сайт будем имитировать с помощью сервиса Loaddy.com. Там можно задать количество пользователей, нарастающий тип нагрузки и по графику будет видно, как сервер реагирует на них. Считается, что один пользователь генерирует примерно один запрос к сайту в течение 10 секунд. В качестве испытуемого сайта возьмем демонстрационный интернет-магазин на cms moguta. Он будет заполнен тестовыми «товарами», которые выводятся на главную страницу по нескольким критериям (то есть при формировании страницы идет работа с базой данных и т.п.). Так или иначе, это позволит сравнивать режимы между собой.

В качестве тестовой площадки создадим впс-сервер на ос Ubuntu. Конфигурация его будет [1 ядро, 1Gb RAM]. Будем считать, что именно такие серверы начального уровня создают в большинстве случаев для новых проектов. Тестовая версия интернет-магазина будет доступна по ip адресу http://130.193.44.219/

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

Так как в большинстве случаев вместе с vps предлагается панель управления, основные изменения настроек будем производить в ней. На vps сервере нам доступно 3 режима его работы:

Классический недорогой хостинг

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта
Результат доступен по ссылке.

Ошибки появляются, когда количество посетителей превышает 50 чел. Хостинг перестаёт отдавать контент, при этом, если зайти в панель управления хостингом, то мы можем увидеть примерно следующее:

Ваш сайт подвергался ограничениям в течение последних 24 часов. Ресурсы процессора ограничивались для Вашего сайта. Вы достигали пределов по входным процессам (количеству одновременно запущенных PHP и CGI скриптов, заданий по расписанию и консольных сессий) 126 раз.

Что ж, понятно, хостинг есть хостинг, тем более недорогой. Можно, конечно, найти такой тариф, который будет предоставлять больше возможностей, но это всё нужно учитывать, каким-то образом узнавать точные данные ограничений, причем у каждого хостинг-провайдера.

VPS: Apache

Следующий на очереди – наш тестовый впс с режимом апач, который кстати предлагается по умолчанию, при установке панели управления ISP.

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Результат доступен по ссылке.

Проблемы начинаются, когда число пользователей переваливает за 90. Если мы зайдем на наш сервер по ssh и посмотрим в этот момент на список процессов по команде top, отсортированный с помощью Shift+M (по количеству потребляемой памяти), то увидим примерно такую картину:

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Мы видим, что процесс apache2 разросся на много дочерних и они съели всю оперативку нашего vps сервера.

Здесь нужно сделать небольшую ремарку. Дело в том, что для сервера апач теоретически существует режим, который позволяет вместо этого большого числа дочерних процессов для каждого соединения создать несколько так называемых мультитредовых, каждый из которых обслуживал бы по нескольку соединений. Называется этот режим worker, в отличие от дефолтного prefork. Но установить его непросто, в панелях типа ISP это сделать невозможно, а если озадачиться и попытаться это осуществить через ssh, то выяснится, что для этого мало выключить prefork и включить worker, еще нужна тредобезопасная версия php. А если используются модули типа Zend или IonCube, то они тоже должны быть тредобезопасными. Да и вообще, официальный сайт PHP не рекомендует устанавливать этот режим.

VPS: CGI

Давайте посмотрим, что будет при использовании режима CGI. Для этого нужно в панели управления ISP разрешить использовать PHP в режиме CGI, это делается в разделе «Учетные записи – пользователи – настройки для пользователя».

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Результат доступен по ссылке.

Безрадостная картина получилась. Сервер отказывается выдавать контент уже при 55+ посетителях, оперативная память вся съедена процессами “php”. Далее идёт попытка восстановления работоспособности, но всё равно всё оканчивается практически 100% отказами.

VPS: Nginx + PHP-FPM

Настало время режима, в котором сервер Apache не используется вовсе, вместо него работает Nginx, а php обрабатывается модулем php-fpm. Если вы используете панель управления ISP, то необходимо разрешить этот режим для пользователя. Это также делается в разделе «Учетные записи – пользователи – настройки для пользователя». Также этот режим должен быть доступен в разделе «Настройки – Возможности – Веб-сервер(www)».

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Результат доступен по ссылке.

То, что нужно! 100% доступности, при этом скорость загрузки и время ответа сервера находятся на приемлемых уровнях, хоть и возрастают с ростом нагрузки. Тем не менее сервер справляется!

Посмотрим на таблицу процессов в момент максимальной нагрузки на сервер:

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Мы видим, что у нас есть еще запас по доступной оперативной памяти. А дочерние процессы php-fpm7.0 не разрастаются в больших количествах, а ограничены 5-ю экземплярами, каждый из которых обслуживает несколько потоков.

Что ж, похоже «режим-победитель» определен. Давайте выясним, сколько же одновременных посетителей сможет обслужить наш сервер в таком режиме. Но перед этим сделаем небольшой «тюнинг». Во-первых, так как apache не используется при такой работе сервера, его можно вовсе отключить. Это сделаем в панели управления ISP в разделе «Система – Службы». Во-вторых, изменим немного принцип запуска процессов php-fpm. По умолчанию он динамический. Это значит, что дочерние процессы будут висеть в памяти даже когда они не нужны. При этом память не освобождается и со временем эти процессы могут разрастись больше чем нам бы хотелось. Поэтому предлагается установить режим “ondemand” – по требованию. И задать количество дочерних процессов и время таймаута для них.

Для этого нужно будет зайти на сервер по ssh и прописать эти настройки в конфигурационный файл php. Это удобно сделать в файле для пользователя, для которого был создан домен в ISP.

Обычно он находится в /etc/php/7.0/fpm/pool.d

Видим там по умолчанию такие настройки:

Чтобы заработал режим ondemand, нужно заменить это на:

И перезапустить php-fpm командой

После этого процессы php-fpm7.0 будут создаваться по требованию (при наличии нагрузки), максимальное их количество будет =5, а после 10 секунд простоя процесс будет убиваться, освобождая оперативную память.

На всякий случай, запустим наш тест еще раз, чтобы убедиться, что вся эта самодеятельность не повлияла в худшую сторону на производительность сайта:

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Результат доступен по ссылке.

Теперь давайте запустим Loaddy с большим количеством посетителей, чтобы понять, сколько соединений способен выдержать наш сервер:

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Результат доступен по ссылке.

Радует то, что все запросы были обработаны, пусть и с большой задержкой, при большом их количестве в секунду. Время ответа сервера приближается к 10 секундам при количестве обращений 190+ Но давайте вспомним график режима apache, где 4 секунды ответа сервера мы получили уже при 80+ пользователях, тогда как в режиме php-fpm аналогичные лаги наблюдаются при 130 запросах, которые мы специально выделили курсором на графике выше.
А ведь это тот же самый VPS.

Таблица процессов top в конце испытания (при 200 пользователях):

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

Заметим, что после окончания тестирования, память, используемая pfp-fpm освободилась:

Как выбрать сервер для сайта. Смотреть фото Как выбрать сервер для сайта. Смотреть картинку Как выбрать сервер для сайта. Картинка про Как выбрать сервер для сайта. Фото Как выбрать сервер для сайта

А значит наш сервер готов к новым нагрузкам.

Заключение

В завершении еще один небольшой момент: Если вы настроили на сервере всё что хотели и решили отключить панель управления ISP, или у вас кончилась на неё лицензия, учтите, что процесс “core” от неё так и останется висеть у вас на сервере. По прошествии месяцев он может разрастись, так что лучше его “убить” и удалить из автозапуска и crona.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *