Как работает сервер
Ответ на вопрос «как работает сервер», будет таким же, как и на вопрос «как работает компьютер», если говорить о процессах внутри аппаратного устройства. Поэтому, в данном случае, более правильным будет рассказать о том, что делает сервер, какие функции он выполняет в сети.
Сервер – это мощный компьютер, предназначенный для обработки запросов и доставки данных на другой компьютер, в т.ч. по сети (локальной сети или сеть Интернет).
Наиболее известный тип серверов – веб-сервер (web-server), который должен предоставлять веб-страницы для компьютеров (клиентов), их запрашивающих. В этом случае, на компьютере должна быть установлена «программа-клиент», которая называется веб-браузер, например, Windows Edge, Google Chrome или Яндекс Браузер (Opera, Firefox, U-browser и т.д.).
Когда интернет-пользователь вводит URL в адресной строке, то его браузер разделяет URL на три части:
- Протокол передачи гипертекста: http(s)://
- Имя сервера: www.servername.com
- Имя нужного файла: text.htm
Эти три части выполняют различные задачи, но все они взаимодействуют с веб-сервером, к которому обращает пользователь.
Несколько типов серверов предназначены для работы в во внутренней сеть предприятия («Интранет»), которая работает по протоколам сети Интернет, но доступная только для сотрудников (иногда также партнёров и клиентов) предприятия. Например, файловый сервер, управляющий хранением файлов пользователей.
Есть также промежуточный вариант – т.н. сеть «Экстранет». Это закрытая часть сети Интранет, часть которой или даже она вся, может быть доступна, кроме сотрудников ещё и внешним пользователям, которые имеют право в неё входить.
Программный сервер
Программный сервер — это программный комплекс, обслуживающий запросы клиентов.
Эта идеология подразумевает наличие двух частей программного комплекса — серверную и клиентскую. Главная часть — серверная. Она располагается на аппаратном сервере (физически — на его жестком диске).
Такую идеологию используют многие программы, в частности, бухгалтерские. На сервере хранится основная часть программы и базы данных пользователей. Пользователь взаимодействует с основной частью посредством клиентской части, расположенной на своем компьютере.
В основном модуле могут работать одновременно несколько (или много) клиентов. Поэтому аппаратная часть должна обладать необходимой вычислительной мощностью. В зависимости от вида программного сервера, к аппаратной части могут предъявляться различные требования.
Почтовый сервер — это программа, работающая с почтой. Разумеется, есть и аппаратная его часть, где, собственно физически и хранятся письма.
Любая поисковая система имеет в своем составе и почтовый сервис. В настоящее время завести себе почтовый ящик (или даже несколько) на сервере не проблема.
Существует такое понятие как «файл-сервер». Это хранилище многих файлов, куда разрешен доступ многим пользователям. Файлов может быть очень много, поэтому аппаратная часть должна обладать большой дисковой памятью. Программная часть — это, бесспорно, очень интересно, но наш блог о «железе», поэтому рассмотрим чуть более подробно, как устроен аппаратный сервер.
Сразу отметим, что сервер может месяцами работать без выключения. Поэтому он должен иметь гораздо более надежное аппаратное обеспечение. Повышенная надежность обеспечивается, в частности, более качественными и дорогими комплектующими.
Железо и ПО
Итак, понятие сервер существует у нас не только с прикладной точки зрения, но и с точки зрения программного обеспечения. Каждую сферу стоит рассмотреть подробно, чтобы было понятно, что к чему. Начнем сначала с программного обеспечения, а потом перейдем к профильной тематике с точки зрения железа.
Серверное программное обеспечение предназначено прежде всего для выполнения обслуживающих функций по запросу клиента. Данное ПО должно предоставлять технические ресурсы для обеспечения решения задачи.
Серверное программное обеспечение должно обеспечивать постоянную работу с клиентом посредством предоставления доступа через специальные интерфейсы и определенных протоколов.
По сути, все заключается в инструкциях. Серверное ПО предназначено только для того, чтобы пользователь распоряжался ресурсами аппаратуры. Не более. Ключевых отличий от других программ нет. Те же языки программирования, та же логика, просто иная специфика.
Подробнее о программном обеспечении будет в отдельной статье.
Аппаратное обеспечение
Что же такое сервер с точки зрения аппаратуры? Ну, как бы объяснить. Голова инфраструктуры и есть сервер. Он предназначен для управления всей IT-структурой либо определенных ее сегментов.
Любой компьютер, который выделяется для выполнения функциональной задачи без участия пользователя (не считая настройки и развертывания ПО), является сервером. Собственно, режим полностью автоматизированный. Человек выполняет только сервисные работы. Постоянного вмешательства в работу не требуется.
Влияет это на конфигурацию? И да, и нет. Обычный компьютер с точки зрения инфраструктуры может являться сервером. Но, при этом, с большой IT-инфраструктурой ПК не справится. Не хватит мощности, да и предназначение другое.
В общем, сервером может быть практически любое компьютеризированное устройство. Даже смартфон! Потому, с аппаратной точки зрения не стоит рассматривать как что-то особенное. Но, в связи с реалиями рынка, серверное аппаратное обеспечение сильно разошлось по реализации с потребительским сегментом. Технологии те же. Но характеристики очень разнятся.
Технические отличия
Чем же отличаются ПК от серверного оборудования с аппаратной точки зрения? Практически ничем, архитектура абсолютно та же. Но есть фишки, которые в персональных компьютерах не встречаются. Давайте по порядку.
Во-первых, многопроцессорные системы. В пределах одного сервера могут быть размещены несколько процессоров, вплоть до 8. Пока поддержки большего количества ни у одного устройства нет. Данная поддержка внедряется на аппаратном уровне с помощью дополнительных протоколов и интерфейсов, чтобы впоследствии CPU могли выполнять задачи совместно.
Во-вторых, кластеризация. Сей процесс описал выше. В случае обычных PC такое доступно лишь условно.
В третьих, оперативная память с поддержкой ECC (автоматическая коррекция ошибок). Обычная ОЗУ способна обнаруживать ошибки, но исправить их на ходу — нет. Память с ECC не только обнаруживает ошибки, но и исправляет, соответственно, критическая масса недочетов, из-за которых понадобится перезагрузить устройство, попросту не накопится.
В четвертых, в сервер можно установить большое количество профессиональных видеокарт. Но стоит быть справедливым, в компьютер можно до 4-х, в рабочую станцию тоже сколько влезет.
Пятое. Накопители U.2, это более быстрый интерфейс, чем M.2 и лучше работает со случайными обращениями к накопителю.
Шестое. Высокий уровень отказоустойчивости. Можно использовать накопители и блоки питания с «горячей заменой». Фактически, компонент можно заменить без обесточивания устройства.
Как видите, сервер имеет существенные отличия от устройств потребительского сегмента. Вполне вероятно, без определенных качеств обойтись попросту не получится. Например, разместить 35 накопителей в пределах одного устройства, использовать распределенные сетевые компоненты с пропускной способность свыше 10GbE и так далее.
Преимущества серверного оборудования
Итак, почему же предпочтительнее взять производительное специализированное устройство вместо персонального компьютера? Ну, присутствует целый ряд причин, по которым предпочтение стоит отдать полноценному серверу:
- Специализация. Например, с сервером 1С для 5 пользователей легко справится обычный ПК. А если человек 100 будет грузить аппаратуру? Без шансов. Даже самые мощные представители не осилят подобной нагрузки. А вот сервер с двумя процессорами и высокой тактовой частотой сможет справиться. Почему, да потому что, в отличии от обычного ПК, серверные комплектующие лучше заточены для решения подобных задач. Интерфейсы позволяют реализовать сложные распределенные структуры, которые смогут обрабатывать многочисленные параллельные запросы. В общем, сервер устроен так, что большому числу людей проще с ним работать. ПК же заточен на обслуживание только одного пользователя.
- Надежность. Серверные компоненты рассчитаны на постоянную работу в режиме 24/7, можно подключить дублирующие элементы, доступна горячая замена блоков питания, HDD и прочих вещей. Это сильно повышает отказоустойчивость по сравнению с персональным компьютером.
- Продуктивная масштабируемость. У серверов больше возможностей для апгрейда и меньше ограничений в данном плане. Потому, расширить мощности в случае их нехватки намного легче, чем у ПК.
- Превосходная производительность. В потребительском сегменте не видно процессоров с 32 ядрами, высокопроизводительных графических ускорителей. Почему? Да потому, что с задачами, стоящими перед рядовыми пользователями они не справятся лучше. Зато стоимость значительно выше. Да, поднимется процентов на 50 скорость архивации, да, улучшится скорость отклика на запросы. Но для обычного пользователя это не будет эффективным вложением. А вот для задач, в которых ресурсы требуются по максимуму, подобные дорогостоящие компоненты раскроются во всей красе. Высокопроизводительные вычисления, рендеринг, терминальные решения. Для таких направлений сервер покажет значительный прирост быстродействия, а, главное, результаты будут заметны.
Сервер в стойке
Наверняка вы видели такое в фильмах про хакеров или в новостях по телевизору про дата-центры и инновации: много проводов, мигают лампочки и размером с хороший советский шкаф. Обычно это выглядит примерно так:
Но на самом деле это не сервер, а серверная стойка — специальный железный ящик, куда вкручиваются серверы — широкие и плоские компьютеры:
Именно такой плоский компьютер и есть сервер, а не вся стойка целиком. У такого компьютера могут быть разъёмы для клавиатуры и монитора, но их подключают, только когда что-то сломалось. Обычно в сервер просто втыкают сетевой кабель и настраивают всё через консоль.
А стойки нужны, чтобы серверы было удобно хранить и размещать в помещениях, или соединять несколько серверов в один большой суперкомпьютер для сложных задач. Также стойку проще охлаждать, запитывать и обслуживать, чем груду отдельно стоящих компьютеров.
Общее определение термина сервер
Итак, давайте разберемся с вопросом: что такое сервер? Но для начала немного исторической справки. Сервер – это имя. Перевод имени Сервер с персидского – глава, предводитель, вождь. Собственно, нам такое определение подходит для дальнейшего разговора. Если говорить конкретно про компьютерную тематику и отрасль IT, то термин сервер имеет два значения:
- Сервер – программное обеспечение, принимающее и обрабатывающее запросы клиентов с целью оказания тех или иных услуг.
- Сервер – это аппаратный комплекс, имеющий большие вычислительные мощности. Обычно сервер собирают под какие-либо конкретные сервисные функции. Например, сервер баз данных или файловый сервер.
Если говорить в контексте веб-разработки, то хостинг, на котором мы размещаем сайты – это сервер, который включает в себя как программную часть, так и аппаратную часть.
Серверный — тоже игровой. Intel Xeon в домашних ПК
Первое, что приверженцы технологий любят использовать из корпоративного сегмента — серверные процессоры. Не экзотические, а наиболее «понятные», то есть, на базе архитектуры x86. Удовольствие это не из дешёвых, поэтому «зеоноводы», условно говоря, включают в себя два лагеря с немного разными ориентирами в постройке ПК:
Xeon — изначально не для игр и «гонок» в бенчмарках, но иногда бывают полезны
• Энтузиасты, нацеленные на High-End комплектующие. Это такой уровень, когда крупносерийных версий Intel Core i7 уже недостаёт, а при взгляде на платформу LGA-2011 (любого из поколений) на ум приходят мысли о том, что «суперзаряженные» Core i7 предлагают «те же яйца», только в меньшем количестве и без разгона.
Потому что, коль уж мы говорим о цене, случались в истории моменты, когда восьмиядерные Xeon оказывались эдак на треть дешевле и значительно «холоднее», чем 6-ядерные Core i7 Extreme Edition. Например, так было после дебюта чипов Intel Haswell-E в 2014 году — во-первых, что разница в цене между шестиядерным Core i7-5960X и «гражданским» четырёхъядерником i7-4790K составляла жалкие 15%. А во-вторых, младший серверный восьмиядерный Xeon E5-2609 v4 стоил примерно на 30% дешевле, чем кандидат из лагеря Haswell-E. При этом, в отличие от «просто» Core i7 в Xeon ниже уровень TDP и отсутствует бесполезная для энтузиастов интегрированная в процессор графика.
При этом кэша L3 во всех трёх моделях навалено тоннами, а частота, хоть ниже в Xeon, но убеждения «в работе ядра лишними не бывают» и «очень скоро игры оптимизируют таким образом, чтобы они работали быстро на 8 и более ядрах» не дают экономным любителям скорости покоя, после чего горячие парни отправляют младшие версии Xeon в чипсет Intel X99 и… никому не признаются, как обстоят дела в играх.
Потому четыре ядра, разбавленных с помощью Hyper-Threading, почти всегда оказываются эффективнее в играх, чем восемь низкочастотных «горшков» в Xeon, которые даже разогнать никак нельзя (заблокированный множитель, околонулевой разгон по шине).
• «Кулибины», которые захотели модернизировать старую платформу при минимальных затратах. Например, приобрести взамен старого процессора Core 2 Duo не старый Quad, а гораздо более крутой и высокочастотный четырёхъядерный Xeon X5460, который с помощью нехитрого переходника можно установить не в серверную материнскую плату с Socket 771, а в «гражданскую» для Socket 775.
Главное в таком сценарии — озаботиться качественным охлаждением (серверные «камни» щеголяют TDP порядка 120 Вт взамен 95 Вт у стандартных четырёхъядерников), но в итоге такой вариант апгрейда с очень старой платформы до «терпимо старой» себя оправдывает, тем более, что на некоторых матплатах процессор можно разогнать аж до 4 ГГц.
И ведь у «Зионов» есть преимущества, которыми они компенсируют свою многоядерную нерасторопность в играх! Например, возможность городить мультипроцессорные конфигурации, с которыми кодирование видео/музыки/фото и CAD-моделирование происходит намного быстрее, чем в топовых Core i7 Extreme. Поддержка регистровой памяти с ECC, к примеру, позволяет исправлять ошибки «на лету», а это пригождается при большом аптайме (сервер же!). Поддержка «конских» объёмов ОЗУ и огромное количество ядер тоже придутся ко двору, когда серверу нужно обработать входящие соединения максимально быстро. Но всё это почти бесполезно в домашнем ПК.
А полезно для него — много ядер на высокой частоте. Если эти условия соблюдены, сам процессор совместим с платформами LGA 2011 или LGA 2011-3 и обходится дешевле, чем «просто» Core i7 — смысл в его приобретении есть. В противном случае лучше либо обойтись массовыми четырёхъядерниками о восьми потоках, либо конструировать рабочую станцию под конкретные сценарии использования (рендеринг, кодирование).
Высокочастотные Intel Xeon (если они дешевле мейнстрим CPU) могут стать хорошим подспорьем не только в работе, но и в играх (источник: ferra.ru)
Содержание
Чтобы ответить на этот вопрос, нужно понять, откуда происходит слово «сервер». В его основе — английский глагол to serve, который переводится как «служить». Итак, server, говоря простыми словами — это специальный компьютер, служащий тому, чтобы та или иная информационная сеть (например, локальная) могла полноценно функционировать.
С термином «сервер» неразрывно связан другой — «клиент». Так называется персональный компьютер, мобильное или другое устройство, находящееся в одной сети с сервером, направляющее на него те или иные запросы и получающее от него необходимую информацию. В существовании сервера не было бы никакого смысла без связанных с ним клиентских устройств.
Как выбрать подходящий сервер?
Есть куча аспектов, на которые надо обращать внимание. Но я бы предложил положиться на хорошего хостинг-провайдера. Он знает свое дело. Предложит подходящее «железо», обеспечит необходимым программным обеспечением.
Можно зайти на главную страницу Timeweb и спокойно выбрать доступный вариант. Можно купить виртуальный хостинг, если грядет мелкий проект, не требующий особого контроля. Можно купить VDS, чтобы сэкономить на покупке выделенного сервера, но при этом получить доступ к расширенным функциям. Для тех, кто строит онлайн-магазин или собрался открывать игровой сервер, есть выделенные «машины». Причем все они учитывают современные реалии. Есть защита от DDoS-атак, ежедневное резервное копирование, круглосуточная техподдержка и физическая защита дата-центров от любой неприятности.
Так что в первую очередь обращайте внимание на репутацию хостинга. Затем рассматривайте его предложения и не беспокойтесь о других технических аспектах.