В этой серии статей мы хотим рассмотреть вопросы, которые возникают у людей при работе с хостинг-провайдерами и выделенными серверами в частности. Большинство из обсуждений мы вели на англоязычных форумах, стараясь пользователям в первую очередь помочь советом, а не саморекламой, дав максимально подробный и беспристрастный ответ, ведь наш опыт в сфере уже свыше 14 лет, сотни успешных реализованных решений и тысячи довольных клиентов. Тем не менее наши ответы не следует воспринимать, как единственно правильные ответы первой инстанции, они вполне могут содержать неточности и даже ошибки, никто не идеален. Будем признательны, если вы дополните или исправите их в комментариях.
Привет, сейчас мы используем серверы в OVH для хранения, стриминга и конвертации.
Когда у нас было 500 посетителей онлайн, которые смотрели что-то, они справлялись со своей задачей хорошо и не было никаких задержек при просмотре видео, но мы быстро выросли и порой посещаемость стала доходить до 1200 пользователей. Мы обратили внимание на большую задержку при буферизации видео, ранее оно буферизировалось полностью быстро до конца, но сейчас это не так. Мы начинаем замечать проблемы, как только посетителей становится 1000+.
Чтобы вы могли предложить / посоветовать? Возможно нужно увеличить пропускную способность? Я видел опцию увеличения пропускной способности до 1 или 3 Гбит / с, сейчас у нас 1 Гбит / с но без гарантии, и я не уверен на счёт того сколько гарантировано.
Действительно, основная ваша проблема в том, что вы используете shared-подключение, то есть подключение, где результирующая пропускная способность, которую вы сможете сгенерировать в Интернет-сеть, будет зависеть от того, сколько потребляют ваши соседи по стойке в тот или другой момент времени. Обычно такое подключение организуется следующим образом — стоечный свитч подключают к свитчу распределения и соответсвенно в сеть Интернет на скорости 10 Гбит / с, и эта пропускная способность распределяется между 20 серверами. Таким образом, каждый может гарантировано получить минимум 500 Мбит / с, если все соседи по стойке начнут потреблять канал на 100%. Но порой это не так. Существует статистика, сколько реально потребляют серверы. Далеко не каждый потребляет даже 500 Мбит / с, потому иногда такое подключение делят на 40 серверов и даже более, тем самым экономя на свитче, портах подключения к свитчам распределения, особенно в случаях, когда серверы одноюнитовые и их можно поставить 40+ в одну стойку или же когда используется более высокая стойка.
На каждый поток, по-хорошему, вам нужно обеспечивать хотя бы 2 Мбит / с (примерный битрейт стрима в HD в кодировани H.264 и .mp4 формате). Таким образом, для 1200 пользователей вам нужно по крайней мере 2,4 Гбит / с и какой-то % для буферизации. Этот % будет зависеть от настроек стриминга, настроек сети, и может составлять от 10 до 30% от необходимой вам ёмкости. И если с настройками на стороне свитчей вы не способны ничего сделать (изменить размер пакета и трафик), то на буферизации можно сэкономить, если поставить ограничение в секундах видео, которые будут буферизироваться.
Итак, вам нужно иметь как минимум 3 Гбит / с пропускной способности для 1200 пользователей, которые смотрят видео онлайн с битрейтом 2 Мбит / с, чтоб у вас не было задержек с буферизацией или даже воспроизведением.
Второй вопрос состоит в производительности вашего хранилища. Если вы используете исключительно SSD — это хорошо. Но помните о том, что большинство накопителей, особенно в столь дешевых серверах, как в дата-центре OVH, могут быть включены по интерфейсу SATA 2.0 вместо SATA 3.0. Таким образом вы не сможете получить более 2,4 Гбит / с с каждого из накопителей. А если это всё подключено к материнской плате напрямую, при помощи рейд-контроллера, который включен в низкоскоростной интерфейс, то со всех ваших накопителей вы не сможете сгенерировать более чем 2,4 Гбит / с.
Помните также о том, что если скорость интерфейса 3 Гбит / с — то по факту, вы не сможете передать более 2,4 Гбит / с данных через него. Сейчас мы не будем вдаваться в технические детали почему это так, просто поверьте на слово!
Итак, для того, чтоб расследовать вашу ситуацию полноценно вам необходимо предоставить нам информацию о технических характеристиках вашего сервера. Указать требования к хранилищу (общий объем файлов, битрейт файлов либо среднюю продолжительность и занимаемый ими объем), а также, какой метод вы используете для потоковой передачи.
Кроме того, не забывайте, что если вы используете этот сервер не только для хранения, но и для конвертации видео — вы наверняка получите некоторые бутылочные горлышки. Это может быть не только очередь прерываний на процессорах, но также деградация пропускной способности вашего хранилища из-за процесса кодирования, которое требует также определённого количества операций ввода / вывода (IOPS).
Мой веб-сайт в настоящее время размещается на Bluehost, и я не удовлетворен качеством их услуг (особенно не устраивает время загрузки сайта и письма, приходящие с большой задержкой). Мой веб-сайт — это дизайнерское портфолио, довольно небольшое, у меня нет никаких e-commerce решений или чего-то необычного и требущего ресурсов, на сайте очень мало посетителей. Я скоро думаю сменить хостинг-провайдера и рассчитываю на небольшую помощь, потому что я не эксперт и не знаю, что значат некоторые из функций в описании тарифных планов, цена не является проблемой.
https://hosterion.com/compare-hosting — здесь я бы выбрал самый недорогой тариф, 3 € / месяц только потому, что я не думаю, что мне нужно что-то большее, чем это (перевод на английский), где я бы выбрал Хостинг * BusinessWEB 2,50 € / месяц (третий слева направо).
Можете ли что-либо посоветовать? Благодарю!
Лучше выбрать второй вариант, там указано, что хранилище SSD. В первом варианте — не ясно, какой тип хранилища предоставляется, большая квота — сигнал о том, что ресурсы передпродаются многокртано, то есть, что существует явный overbooking. И то как провайдер обеспечивает доступность ресурсов каждому — не очевидно.
Как выбрать лучший веб-хостинг?
Очень важно, чтоб хостинг-провайдер не ограничивал потребление ресурсов жестко, так как в таком случае, если нагрузка вашего сайта превысит допустимый уровень — ваши посетители получат ошибку веб-сервера, который уведомит, что не может временно обработать запрос, что негативно повлияет на поведенческие факторы и позиции вашего сайта в поисковых системах. Уточните каким образом ваш провайдер учитывает потребление ресурсов и какие реальные лимиты. Некоторые провайдеры любят измерять нагрузку в CP — «попугаях», которые не репрезентативны (зачастую вы не знаете какой процессор на какой из нод используется, потому параметр 100 CP мало о чём говорит). 100 CP на высокопроизводительном сервере может позволить вам обслужить тысячи посетиелей в сутки, в то время как на нодах со слабым процессором вы начнёте испытывать проблемы уже тогда, когда количество посетителей не достигнет даже тысячи. Немаловажными являются скрипты, которые вы собираетесь использовать, тот же WordPress с модулями может создать критическую нагрузку даже с одним посещением, если что-то установлено неоптимально или некорректно, но от этого никто не застрахован нигде.
Попробуйте обратиться в службу поддержки хостинга и попросите создать тестовую страницу со временем генерации (обратившись к ней в разное время будет возможно увидеть насколько сильно различается результат, сильные различия во времени генерации будут свидетельствовать о том, что нода перегружена, и в пиковые часы ваши сайты будут отдаваться медленее).
Лучше использовать хостинг с чистым SSD-хранилищем, это поможет избежать задержек в работе вследствии того, что кто-то из соседей начал активно использовать ресурсы хранилища и была достигнута его сатурация по операциям ввода-вывода, которые начали становится в очередь. Не забывайте, что обычный HDD-накопитель может обеспечить только 70-120 случайных IOPS и даже RAID-массив из нескольких дисков зачастую не позволит обеспечить свыше 1000 IOPS на вывод, а на input, как минимум в 2 раза меньше, если только не RAID0 конечно же используется, что небезопасно, в то время как SSD может обеспечить десятки тысяч. Некоторые провайдеры экономят и используют гибридные схемы, когда все требовательные к IOPS приложения размещаются на SSD, в то время как редко запрашиваемые данные — на HDD. Это хорошо и целесообразно, но не на хостинге. Сегодня стоимость SSD-накопителей невелика и в большинстве случаев в первую очередь заканчиваются ресурсы севрера (CPU, RAM, IOPS хранилища, последнее редко в случаях SSD), нежели квота, потому и является столь популярной фраза «дисковая квота стоит 0, стоят денег ресурсы».
Время генерации страницы — самый важный параметр для вас и ваших пользователей. И для большинства скриптов в случае оптимально настроенных нод и отсутствия огромной нагрузки от других пользователей работа на хостинге не будет представлять каких-либо проблем. В последнее время многие из провайдеров используют Cloudlinux, решение, позволяющее более чётко ограничить ресурсы и отделить пользователей друг от друга, создав дополнительный комфорт и безопасность, что повышает стабильность услуги в целом. Однако всё еще популярны «мегасерверы», когда на одном сервере размещаются тысячи и десятки тысяч клиентов хостинга, это куда опаснее, нежели отсутствие самых передовых решений в виде Cloudlinux. Не стесняйтесь поинтересоваться у поставщика услуг как у них организован хостинг, от этого зависит стабильность работы ваших проектов и даже не будучи специалистом, по ответу можно понять, имеете ли вы дело с профессионалами своего дела, или же со школьниками, которые недавно купили сервер в Hetzner и забацали крутой дизайн и сайт, который может быть даже лучшим, нежели сайты надёжных проверенных временем компаний, предоставляющих услуги десяткам тысяч клиентов.
Но не всё зависит от сервера, провайдера и настроек. Огромное значение имеет также дата-центр, его локация и транзитные провайдеры, при помощи которых будет доставляться трафик к Вашим посетителям. Потому, какой бы провайдер не казался хорошим, не лишним будет проверить связность — качество подключения к веб-серверу из разных точек сети.
Ping является далеко не самой важной характеристикой, как ошибочно полагают многие. Для большинства сайтов не столь критино важно пинг 60 мс или 120, для глаза это мало заметно, конечно, если только веб-страница не содержит огромное количество элементов, которые требуют отдельных HTTP-запросов, то есть, если страница не оптимизирована. Про оптимизацию мы, пожалуй, поговорим в отдельной статье. Но стоит запомнить, что большинство Интернет-страниц имеет средний размер порядка 700 Кбайт и загружаются за время порядка 0,3-0,5 с (300-500 мс), именно потому разница в 60 мс не будет сколь-либо значимой для этих случаев. Куда важнее стабильность пинга и отсутсвие потерь.
Существует несколько сервисов, которые помогут проверить доступность из разных регионов, один из них, самый известный, host-tracker.com. При помощи сервиса 2ip.ru вы сможете узнать какие еще сайты размещены на ай пи адресе провайдера и уже проверить скорость загрузки страниц на хост-трекере у других клиентов, еще до покупки услуг хостинга.
На перегруженных серверах или в случае недостаточно хорошей связности будет заметна низкая скорость генерации страниц и как следствие большее время, а также изменение этого параметра в течении суток, так что данный тест легко позволит определить качество услуги до получения какой-либо внутренней информации о железе, аплинках и вообще того, как и что организовано. Единственное с чем нужно быть осторожным — это сайты, которые используют внешние элементы при генерации страницы, тут скорость генерации страниц уже может зависеть не только от веб-сервера и того, как сайт и сам веб-сервер оптимизирован под работу, но и от внешних серверов. Потому следует проверять работу сразу нескольких независимых веб-сайтов.
Много кто в наше время полагает, что хостинг «умер» и может агитировать вас приобрести VPS (виртуальный приватный сервер), ведь цена услуги не на много дороже, а порой даже дешевле хостинга. Тем не менее у этой услуги есть как плюсы, так и минусы.
+:
Программно или даже аппаратно изолированная среда (в случае аппаратной виртуализации);
root-доступ, возможность установки специфического ПО, недоступного для пользователей хостинга;
возможность тюнинга веб-сервера под конкретную задачу, что ускоряет время генерации страниц и улучшает поведенческие факторы, как следствие — ваш проект растёт и вы всегда можете прогнозировать рост;
простота миграции, вы всегда можете перенести проект на другую VPS или выделенный сервер, сохранив все настройки, почту и многое другое;
возможность мониторинга и подключения круглосуточного сопровождения со стороны провайдера, что обеспечит здоровый сон и убережет от взломов, предотвратит большинство проблем и улучшит работу сайта и позиции в поиске за счёт тюнинга и отслеживания работы по трешхолдам многих параметров.
-:
Количество выделенных ресурсов может быть меньше, нежели на хостинге у «правильного» хостинг-провайдера, и услуга, в конечном итоге, может стоить дороже;
далеко не каждый провайдер предоставляет панель управления сервером бесплатно (ту же ISP Manager 5), в результате стоимость услуги возростает, иногда многократно (любители CPanel будут вынуждены платить за панель в несколько раз дороже стоимости VPS, что само по себе является бредом, но покупают же!);
администрирование и круглосуточное сопровождение стоит в среденем $30-50 в месяц, и только единицы могут позволить себе предложить его в убыток по цене от $10, что сравнимо или меньше стоимости начальных VPS с целью развития их пользователей в будущем;
выделенный IP-адрес с отсутствием соседей может являться как плюсом так и минусом, некоторые адепты SEO полагают, что это проблема и что Google до сих пор «палит» сетки сайтов только по IP-адресу;
для сайта-визитки или даже небольшого портала VPS нафиг не нужен, это излишество, которое приводит только к расходу IPv4 адресов, которых и так дефицит, веб-хостинг не умер!