Выбор сервера

08.07.2008

Выбор сервера

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

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

От чего зависит производительность сервера?

Производительность любого сервера зависит от следующих параметров:

  • тип и производительность процессоров
  • объем и тип оперативной памяти
  • производительность дисковой подсистемы

Процессор

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

Основными параметрами процессорной системы (именно системы, так как процессоров, как правило, несколько) являются: количество процессоров, их частота и объем встроенной кэш – памяти.

Благодаря компании Intel Частота (количество операций, которое процессор способен выполнить за секунду) процессора долгое время считалась единственным показателем производительности. Отчасти это действительно так – медленный процессор действительно вполне может сделать всю систему непроизводительной, не успев обработать все поступающие данные. Если не принимать во внимание другие факторы, то математика достаточно проста - чем выше частота, тем выше производительность.

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

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

Далее необходимо небольшое отступление, посвященное ситуации на нынешнем рынке процессоров для «легких» и «средних» серверов. Этот рынок поделен между двумя компаниями – AMD и Intel с их линейками Opteron (AMD), Xeon и Itanium (Intel). Для того, чтобы понять, в чем именно они различны необходимо поподробнее рассмотреть их архитектуры.

XEON (Intel)

Процессор появился достаточно давно и имеет неплохую производительность за умеренные деньги. Сегодня на рынке представлены модели с частотами от 1,5 до 3,66ГГц и с объемами кэш-памяти третьего уровня от 1 до 8 Мб. Недостаток этих процессоров состоит в том, что для подключения нескольких процессоров используется одна общая полудуплексная шина, которая в случае интенсивного обращения к оперативной памяти становится «узким местом» системы.

Шина имеет не слишком высокие для сервера показатели: разрядность 128 бит и скорость 400 МГц, максимальная скорость передачи данных составляет 6,4 Гб/сек. В этих условиях единственным способом снизить нагрузку на системную шину является увеличение объема кэш-памяти, что мы и наблюдаем. Выпускаются модели с индексами DP (для использования в двухпроцессорных серверах) и MP (для четырехпроцессорных серверов).

Системы на базе XEON не поддерживают более 4-х процессоров.

ITANIUM (Intel)

Сравнительно недавно появившееся семейство процессоров. От прочих отличаются несколько более низкими частотами, очень большим объемом кэша третьего уровня – его объем может доходить до 9Мб и расширенной поддержкой 64-битной архитектуры. К сожалению, эти процессоры были неоднозначно приняты рынком – их высокая цена и сложность создания совместимых с ними платформ сделали их непривлекательными для широкого применения. Свою лепту внес и отказ корпорации Microsoft от их поддержки. Все эти факторы определили положение Itanium на рынке как процессора высшего уровня, применяемого для построения высокопроизводительных многопроцессорных (от 64 до 256 единиц) систем. Также оправдано использование в составе кластеров, хотя из-за издержек на передачу данных между процессорами производительность кластера всегда ниже, чем полноценной многопроцессорной системы.

OPTERON (AMD)

Семейство серверных процессоров, представленных компанией AMD. В самих этих процессорах не реализовано каких-либо принципиально новых технологий, если не считать полноценной поддержки 64-битной архитектуры (Intel этом вопросе несколько отстает, ее технология EM64T является скорее эмуляцией 64-битного режима).

От серии Xeon они отличаются в первую очередь тем, что процессоры подключаются к общей коммутируемой памяти, то есть каждый процессор получает доступ к требуемому участку памяти по коммутируемому каналу. Когерентность памяти при такой архитектуре обеспечить проще, чем для шинной. В результате такие системы лучше масштабируются, и их скорость отклика как правило оказывается выше. На рынке представлены модели с частотами от 1,4 до 2,8 ГГц с маркировками 1xx(однопроцессорные сервера и рабочие станции), 2xx(сервера и станции до 2 процессоров) и 8xx(поддержка до 8 процессоров). Небольшой объем кэша второго уровня (1 мб) компенсируется высокопроизводительной шиной HyperTransport, поддерживающей частоту в 1ГГц (800 МГц для Opteron’ов предыдущего поколения).

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

Процессоры Xeon есть смысл использовать для файл-серверов и прочих систем, которые не будут одновременно обрабатывать большое количество мелких запросов. При таких задачах процессор не «прогоняет» через себя (а значит через свою шину) чрезмерных объемов информации, следовательно «узкое место» серии Xeon не сможет радикально повлиять на производительность. Кроме того, из-за технологических особенностей на один сервер невозможна установка более чем четырех таких процессоров.

Opteron – ы не обладают такой частотой как процессоры Intel, но имеют ряд других преимуществ, а именно – высокую пропускную способность шины и аппаратную поддержку 64-битной архитектуры. Последнее позволяет им адресовать практически неограниченный объем оперативной памяти. Таким образом, оптимальное применение процессоров Opteron – сервера поддержки баз данных. На один сервер можно установить до 8 процессоров, что обеспечивает прекрасную производительность.

Процессоры Itanium по ряду причин не сыскали популярности на рынке «легких» и «средних» систем. Среди этих причин – высокая стоимость как самих процессоров, так и их «родных» платформ. Помимо этого нерешенной осталась старая «болезнь», характерная еще для Xeon’ов – перегруженность процессорной шины. В новейшем чипсете E8870 эта проблема решена «в лоб», то есть фактически восьмипроцессорная система на Itanium’ах представляет собой кластер из двух четырехпроцессорных серверов, связанных по высокоскоростной полнодуплексной шине со скоростью передачи данных 12,8 Гб/сек. Однако, сама идея кластера предполагает некоторое снижение производительности за счет времени, необходимого на передачу данных с одного узла кластера на другой. В результате для четырех- и восьмипроцессорных систем более актуальны процессоры Opteron.

Таким образом, учитывая невысокие тактовые частоты процессоров Itanium, их не имеет смысла применять на серверах среднего класса. Их применение оправдано только в крупных многопроцессорных системах с количеством процессоров более 32.

Несколько слов о многоядерных процессорах. По сути, оснащение одного процессора несколькими ядрами является попыткой получить преимущества кластерной системы (возможность распараллеливания процессов) без ее недостатков (недостаточно быстрой коммутации узлов кластера). Разумеется, установка двуядерного процессора на производительность отрицательно не повлияет, но и ощутимых преимуществ может не дать. Двуядерность дает преимущества в распараллеливаемых приложениях, то есть тех, где нужно обрабатывать большое количество одновременных запросов. Сервер на 4-х двуядерных 3 ГГц Оптеронах операционная система будет видеть как 16-типроцессорную систему с частотой каждого процессора 1,5 ГГц.

Оперативная память

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

Что касается объема памяти, то практически невозможно дать какие-то общие рекомендации, все слишком индивидуально для каждой системы и поставленных задач. Как показала практика, в среднем для сервера баз данных должно хватить 256 мегабайт на нужды операционной системы, примерно по 64 мегабайта на каждого активно работающего с базой пользователя плюс не менее половины от объема самой базы данных. Например: для отдела, состоящего из 20 человек и работающего с базой данных объемом в 5 Гб желательна установка сервера с не менее чем 4Гб памяти (256мб (операционная система сервера) + 1280мб (64мб*20 пользователей) + 2,5гб (половина от объема базы данных)= 4036Мб ~ 4Гб)

В продаже можно встретить модули памяти объемом в 256, 512,1024, 2048, 4096 мегабайт, но для корректной работы оборудования память можно наращивать только путем удвоения существующего объема.

Существует два основных стандарта памяти – DDR1 и DDR2. Они отличаются скоростью передачи данных – для DDR1 это 266мГц, 333 МГц, 400 МГц, для DDR2 - 533 МГц, 667 МГц, и 800 МГц. Здесь все просто – чем выше частота, тем лучше. Следует только учесть, что эти стандарты между собой несовместимы и при покупке сервера, ориентированного на дальнейший рост, желательно приобретать платформу, поддерживающую DDR2.

Еще один важный момент, на который следует обращать внимание при выборе памяти – наличие у нее функции ECC (Error Correcting Code). Память с этой функцией автоматически исправляет ошибки, возникающие в процессе работы. Ошибки в работе памяти оказывают сильный негативный эффект на производительность сервера и могут привести к самим разным последствиям, вплоть до потери информации. ECC память работает несколько медленнее обычной (примерно на 5%) и стоит значительно дороже, но является обязательным компонентом любой системы, ориентированной на максимальную надежность.

Дисковая подсистема

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

Жесткие диски, присутствующие сегодня на рынке, различаются интерфейсом подключения (SCSI, SATA1-2, Fibre Channel, SAS), объемом и скоростью вращения шпинделя.

Выбор интерфейса, опять-таки, зависит от задач, выполняемых сервером. Для быстрого поиска нужных данных в плотной информационной среде желательна установка дисков с интерфейсом SCSI. Эти диски стоят достаточно дорого, но обладают самым низким временем доступа к информации за счет большей, чем у SATA, скорости вращения шпинделя – 10 000 и 15 000 оборотов в минуту. Объем SCSI – дисков не превышает 300 Гб, скорость передачи данных – 320 мб/сек (для стандарта Ultra320 SCSI). Все это делает их неплохим решением для применения в системах, работающих с базами данных и занимающихся сложными расчетами.

SATA – диски, напротив, обладают невысокой скоростью доступа, но объем дисков достигает 500Гб и стоимость их значительно ниже чем SCSI. Скорость вращения шпинделя – до 7 200 оборотов. Такие накопители оптимальны для хранения информации, к которой нет постоянных частых запросов, например для FTP-серверов или организации серверов общего доступа в Internet.

Fibre Channel - развитие идей SCSI. При использовании этого протокола данные передаются по оптическому каналу. Этот интерфейс обладает самой высокой скоростью (до 4 Гбит/сек), но для применения требует специальной (и весьма дорогостоящей) инфраструктуры. Диски с этим интерфейсом применяются в системах, ориентированных на максимальное быстродействие.

SAS (Serial Attached SCSI) – новый интерфейс, направленный не только на повышение производительности накопителей, но и на унификацию систем хранения. Скорость передачи данных - до 3 Гбит-сек, возможно последовательное подключение до 16 256 устройств. Самая, наверное, инновационная черта SAS – полная совместимость с популярным из-за своей экономичности интерфейсом SATA. Таким образом, в одном корпусе можно разместить одновременно как высокопроизводительные SAS, так и экономичные SATA накопители. Кроме того, SAS обеспечивает подключение как стандартных 3.5’, так и 2,5’ дисков, что делает его крайне привлекательным для применения в компактных листовых (blade) серверах.

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

На что еще следует обращать внимание при покупке сервера?

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

Если говорить о надежности хранения данных, то ее можно повысить путем создания отказоустойчивой схемы RAID. Многие системные платы имеют встроенные RAID – контроллеры, но их надежность может оказаться недостаточной. Для создания действительно отказоустойчивого RAID-а необходимо использовать только внешние RAID – контроллеры.

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


Возврат к списку