Хостинг и выделенные серверы: отвечаем на вопросы. Часть 3
В этой серии статей мы хотим рассмотреть вопросы, которые возникают у людей при работе с хостинг-провайдерами и выделенными серверами в частности. Большинство из обсуждений мы вели на англоязычных форумах, стараясь пользователям в первую очередь помочь советом, а не саморекламой, дав максимально подробный и беспристрастный ответ, ведь наш опыт в сфере уже свыше 14 лет, сотни успешных реализованных решений и тысячи довольных клиентов. Тем не менее наши ответы не следует воспринимать, как единственно правильные ответы первой инстанции, они вполне могут содержать неточности и даже ошибки, никто не идеален. Будем признательны, если вы дополните или исправите их в комментариях.
Хостинг и выделенные серверы: отвечаем на вопросы. Часть 1
Хостинг и выделенные серверы: отвечаем на вопросы. Часть 2. Почему такой дорогой Интернет в ЦОД?
Подскажите пожалуйста, какой из двух серверов лучше выбрать? На каком мои сайты будут работать быстрее?2x Intel Xeon E5620 > 16C / 32T — 2.40 Ghz, 24 GB RAM, 2×2 TB SATA Storage и 1Gbit Port
vs
Xeon E3–1220 v3 > 4C / 4T — 3.10GHz, 16 GB RAM, 512 GB SSD Storage и 1Gbit Port
Для того, чтоб ответить на Ваш вопрос полноценно, прежде всего нужно дать ответ на вопрос — от чего зависит скорость работы веб-сайта?
- от того, насколько оптимизирован код сайта;
- от того, насколько оптимизировано серверное ПО;
- от качества каналов связи между сервером и посетителем;
- от конфигурации сервера.
Как видим, конфигурация железа — последнее, что может влиять на скорость работы Ваших сайтов.
Оптимизация кода
По оптимизации кода в Интернете можно найти множество статтей. Полезная найдена на Хабре и в Medium. Интересно было найти статью от 1998 года, где «увеличить скорость загрузки сетевых страниц в компьютер» можно было за счёт повышения эффективности передачи данных между браузером и web-сервером. Причём ПО стоило не малых денег:
Если SpeedServer сулит такой выигрыш в скорости, то почему бы не приобрести его поскорее? Однако есть причины не торопиться, и одной из них может оказаться цена этого пакета. Для узлов со скоростью доступа Т1 он стоит 75 тыс. дол., что, на наш взгляд, довольно дорого.
Вот это было время! А какие потрясающие результаты работы программного комплекса:
Вооружившись секундомером, мы измерили скорость загрузки страниц с трех Web-узлов, на которых был установлен ускоритель Sitara: sitara.net, jcrew.com и sportsnetwork.com. Выигрыш в скорости очень сильно менялся от узла к узлу.Наилучшими оказались результаты, полученные для узла jcrew.com: его главная страница загружалась без ускорителя SpeedSeeker за 16 с, а с ним — всего за 6 с. На повторные посещения этой страницы затрачивалось соответственно 5 и 3 с.
Наихудшие результаты продемонстрировал узел sportsnetwork.com, где главная страница загружалась без ускорителя за 45 с, а с ускорителем — за 40 с. Во время наших испытаний проводились финальные игры баскетбольного чемпионата, и узел был сильно перегружен. Нас несколько разочаровало, что ускоритель практически не дал выигрыша в скорости загрузки.
За период испытаний (они проводились в течение недели) программа SpeedSeeker позволила сократить время загрузки в среднем вдвое. Иногда выигрыша в скорости не наблюдалось вообще, а порой скорость обмена с Web увеличивалась втрое.
Независимо от того, по какой линии (модемной со скоростью 28,8 кбит/с или Т1 со скоростью 1,5 Мбит/с) ваши клиенты получают доступ к узлу, пакет SpeedServer увеличит скорость их соединения. Вам только придется решить, стоит ли ради экономии нескольких секунд выкладывать 75 тыс. дол.
Как же изменилось всё за 22 года! Сегодня мы имеем возможность использовать высокоскоростное подключение практически везде и время загрузки страницы составляет в среднем 0,3 секунды (300 мс) даже для больших страниц, а средний размер веб-страницы уже давно превысил 750 КБ. При этом надо разлечать время загрузки и время генерации страницы. Ведь первое состоит из времени генерации странцы веб-сервером + времени передачи данных до посетителя. И первое и второй возможно оптимизировать. Сократив количество HTTPS-запросов можно оптимизировать и время загрузки, так как HTTP-протокол работает аналогично протоколу TCP/IP, когда ожидается подтверждение успешного подтверждения пакета данных, в данном случае — успешного загрузки элемента веб-страницы.
Оптимизация серверного ПО
Ускорить время генерации страницы можно со стороны сервера, переключив работу сайтов на более-быстрый веб-сервер и выполнив тонкий тюнинг параметров PHP и MySQL, конечно же если используется этот тип баз данных. В последнее время появляется всё больше решений. Мы не будем подробно останавливаться на них в этой статье — так как это удел администраторов, которые сопровождают серверы. И для описания этих моментов, пожалуй, потребуется написать отдельную статью.
Вебмастерам же важно знать, что для того, чтоб Ваш сайт работал наиболее оптимальным образом и на его работу влияло как можно меньше соседей — лучше размещать его на выделенном сервере, или же как минимум VPS. Конечно, хороший хостинг может окзаться быстрее VPS, за счет больших выделяемыех ресурсов в пике для Вашего проекта, однак тут следует посмотреть, а так много ли Ваш сайт потребляет ресурсов в пиках? Обеспечивается ли это пиковое потребление на хостинге? Не нуждается ли сайт в особых настройках веб-сервера или MySQL, которые недостижимы на хостинге и могли бы ускорить его работу?
Каналы связи и размещение сервера
Размещение сервера куда важнее, нежели его конфигурация. Если сервер находистя в дата-центре с дешевыми каналами связи, может случится так, что из определённых регионов пользователи будут испытывать существенные задержки при работе с Вашим проектом. И речь здесь не только о пинге или потерях на пути, но и об ограниченной полосе.
К примеру Cogent продает дешевый трафик, очень дешевый, в несколько раз дешевле высококачественных конкурентов. И если скорость из Нидерландов до Киева и МСК вполне сносная — свыше 10 Мбит / с на поток, то в Новосибирск несколько раз фиксировалась скорость менее 1 Мбит / с (по словам одного из наших клиентов, который использовал это дешевое подключение в их дешевом дата-центре). Если у Вас стримминг-проект — это имеет значение. Часть аудитории может испытывать нехватку полосы, как только на маршруте случаестя какая-то авария или перегруженность какой-то из сетей.
И если дорогой дата-центр, который располагает не только Cogent-аплиниками в наличии, может решить проблему, перенаправив трафик через более дорогой аплник до проблемного направления (тем самым обеспечив качественный доступ для всех, перплачивая за доступ небольшого % аудитории, однако тем самым снимая негативное влияние этого небольшого % на поведенческие факторы и позиции в посиковой системе), в дешевом Вам останется только ждать пока проблема будет разрешена со стороны Cogent, получить снижение позиций в выдаче из-за низкого качества доступа для нескольких % аудитории, для которых можно было бы подключить альтернативный, более дорогой аплник. Но просто отсутствовала возможность. И в итоге Вы потеряли уже десятки процентов других посетителей.
Конфигурация сервера
При выборе конфигурации сервера Вам нужно смотреть на то, что Вам реально нужно. Быть может Вам не требуется так много ядер и процессоров или RAM, кототрые предложены в данных решениях, а требуется просто хороший сервер с SSD, куда меньшие ресурсы и оптимизация из рассмотренных пунктов выше. Некоторые приложения хорошо работают с большими частотами ядер и меньшим им количеством (к примеру 1С не очень эффективно распаралеливает запросы), некоторым наоборот — важнее больше потоков, пусть и с меньшей частотой.
Относительно обеих вариантов — это совсем не хорошие варианты. Обе конфигурации не хороши и я их не советую.
Первый вариант не имеет SSD, второй вариант имеет только 1 накопитель, что не очень безопасно и отказоустойчиво (нужно иметь аварийный план восстановления и оценивать допустим даунтайм или нет). Так что это просто маркетинг. Не сбалансированные серверы, содержащие бутылочные горлышки для Ваших проектов. Вы не будете эффективно использовать ресурсы и получите несколько узких мест.
Безусловно SSD положительно влияет на время генерации страниц, потому что HDD имеет большую задержку из-за вращающихся частей и только 70–100 случайных операций ввода-вывода в секунду. В то же время латентность для SSD накопителей в десятки раз ниже, и SSD позволяет выдерживать высокие нагрузки по вводу/выводу данных (чтению и записи). Так почему же их не использовать в своём сервере? Тем не менее, если оптимизировать серверное ПО, отправить кеш и частые запросы в RAM или на SSD, хорошие результаты можно получить и на сервере с HDD. Выбор оптимальной конфигурации зависит от множества факторов. И это тема для отдельной статьи.
Можете ли Вы рассказать мне о том, для каких проектов Вам нужен выделенный сервер? Я помогу Вам выбрать экономичное решение для вашего случая, и оно не будет стоить очень дорого. Возможно, это будет стоить даже дешевле, указанных Вами вариантов.
Продолжение следует…
Немного рекламы :)
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5–2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5–2697v3 2.6GHz 14C 64GB DDR4 4×960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5–2430 2.2Ghz 6C 128GB DDR3 2×960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5–2650 v4 стоимостью 9000 евро за копейки?