Советы по подбору оборудования

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Типы серверов

Тип сервера Описание Плюсы Минусы
ATX Самостоятельно собранный или заказанный сервер из десктопных компонентов
Такие сервера имеют высокую производительность за низкую цену.
С их помощью очень легко масштабироваться в ширину.
Компоненты легко приобрести.
Менее надёжны.
Не получится поставить в стандартную серверную стойку.
1U, 2U Одноюнитовые и двухюнитовые сервера для установки в стойку.
Верхний сегмент таких серверов позволяет проводить вертикальное масштабирование, то есть обрабатывать больший объём трафика в рамках одного сервера.
Высокая надёжность.
Чем меньше серверов - тем проще их администрировать.
Высокая цена.
На некоторые модели сложно найти поставщика.

Процессоры

  • гипертрединг - нужно отключать. число ядер (cores) у процессоров ниже указано с учётом отключенного гипертрединга.
  • 4+ ядра - хорошо
  • Intel - хорошо, с AMD могут быть проблемы
  • Чем больше L3 кэш, тем лучше.
  • 3GHz+ частота - хорошо
  • очень много ядер, но с маленькой частотой - не хорошо.
  • несколько socket'ов (физических процессоров):
    • если используется несколько сетевых карт для зеркала - хорошо
    • если одна - имеет мало смысла и в некоторых случаях может быть хуже, чем на одном сокете.
    • если у материнской платы один PCI слот или оба привязаны к одному процессору - плохо.
Трафик Однопроцессорное решение
Многопроцессорное решение
10 Гбит/сек +
Здесь не получится обойтись одним процессором. Можно масштабироваться
по числу серверов: на каждую точку съёма зеркала трафика установить
отдельный недорогой сервер. Это окажется дешевле при покупке, но, возможно, усложнит эксплуатацию (все сервера нужно администрировать).
  • Intel® Xeon® Gold 6154 Processor, 3,00GHz, 4 sockets, 18 cores, 25M L3 cache
  • Intel® Xeon® Gold 6144 Processor, 3.50 GHz, 4 sockets, 8 cores, 25M L3 cache
  • Intel® Xeon® E5-2687W v4 @ 3.00GHz, 2 sockets, 12 cores, 30M L3 cache
  • Intel® Xeon® E5-2689 v4 @3.10GHz, 2 sockets, 10 cores/socket, 25M L3 cache
  • Intel® Xeon® E5-2690 @ 2.90GHz, 2 sockets, 8 cores/socket, 20M L3 cache
до 5 Гбит/сек
  • Intel(R) Xeon(R) CPU W-2145 @ 3.70GHz, 8 cores, 11M L3 cache
  • Intel(R) Xeon(R) CPU E5-1680 v4 @ 3.40GHz, 8 cores, 20M L3 cache
  • Intel(R) Xeon(R) E5-2667 V4 @ 3.20GHz, 8 cores, 25M L3 cache
  • Intel(R) Xeon(R) CPU E5-1660 v2 @ 3.30GHz, 6 cores, 16M L3 cache
  • Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz, 4 cores, 8M L3 cache
  • Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4 cores, 8M L3 cache
  • Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1230 v5 @ 3.40GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1270 @ 3.40GHz, 4 cores, 8M L3 cache
  • Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz, 4 cores, 6M L3 cache
  • Intel(R) Xeon(R) CPU E3-1240 @ 3.30GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E3-1230 v3 @ 3.30GHz, 4 cores, 8M L3 cache
  • Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz, 4 cores, 6M L3 cache
  • Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz, 4 cores, 6M L3 cache
  • Intel(R) Xeon(R) CPU E3-1220 v3 @ 3.10GHz, 4 cores, 8M L3 cache
  • Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz, 2 sockets, 6 cores/socket, 16M L3 cache
  • Intel(R) Xeon(R) CPU X5650 @ 2.67GHz, 2 sockets, 6 cores/socket, 12M L3 cache
  • Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz, 2 sockets, 6 cores/socket, 16M L3 cache
  • Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz, 2 sockets, 4 cores/socket, 10M L3 cache
  • Intel(R) Xeon(R) CPU X5570 @ 2.93GHz, 2 sockets, 4 cores/socket, 8M L3 cache
  • Intel(R) Xeon(R) CPU E5645 @ 2.40GHz, 2 sockets, 6 cores/socket, 12M L3 cache
  • Intel(R) Xeon(R) CPU E5530 @ 2.40GHz, 2 sockets, 4 cores/socket, 8M L3 cache

Как оценивать сервер

Сервер есть под руками

Установите CentOS 6 или CentOS 7

Выполните:

yum -y install epel-release
yum -y install python-pip
pip install netutils-linux
sudo server-info rate

Для более общей оценки можно:

cd /root/server/
# оценка с точностью до девайса
server-info-rate -f
# оценка с точностью до подсистемы
server-info-rate -ff
# оценка сервера целиком
server-info-rate -fff

Сервер только планируется собирать

Смотрите инструкцию ниже и консультируйтесь с нашей технической поддержкой.

Процессор

Число процессоров

  • В идеале число процессоров = числу принимающих зеркало трафика сетевых карт. Отсюда два вывода:
    • если сетевая карта одна, а процессора два - большой выгоды от использования 2 процессоров не будет.
    • если сетевых карты две, а процессор один - они будут конфликтовать за его ресурсы, что неэффективно.
    • если сетевых карты три, а процессора два - может проще установить ещё один сервер?
    • если сетевая карта 1, но двухпортовая, а процессора два - один из портов будет обрабатываться значительно менее эффективно.
    • если сетевых карты две, процессора два, но обе сетевые карты принадлежат к одной NUMA-ноде, они будут использоваться неэффективно.
  • Среднестатистические системы с одним процессором в теории способны обрабатывать около 2-4гб трафика.
  • Однако можно масштабироваться не в рамках одного сервера, а устанавливая дополнительные сервера.

Частота

  • Частота - один из самых важных показателей процессора. В каком-то роде по нему можно судить сколько пакетов в секунду на 1 ядро способен прожевать сервер.
  • 2GHz процессоры не очень эффективны в обработке трафика.
  • 2.8GHz приемлемо.
  • 3.2GHz+ оптимально
  • 4GHz хорошо, но, обычно, дорого

Число ядер

  • 8 ядер на процессор - это хорошо.
  • 1 ядро на процессор - это очень плохо.
  • Гипертрединг в общем случае лучше выключить, а число тредов не учитывать:
    • Гипертрединг для 1 ядра почти бесполезен.
    • Гипертрединг для 8+ ядер может быть незначительно вреден.

L3 кэш

  • Процессоры с L2-only кэшем могут быть не такими уж плохими, но в 99% это сигнализирует о том, что остальное железо (материнская плата, оперативная память) старое и слабое.
  • Чем больше L3-кэша тем лучше.

Сетевые карты

Размер rx-буфера

  • Меньше 1024 - не рекомендуется
  • 2048-4096 - пригодно в общем случае
  • 8192 - отлично

Драйвер

От драйвера и модели карты зависит, что он умеет, например

  • Управление числом очередей
  • Управление размером буфера
  • Управление распределением пакетов между процессорами

Выдержка из кода утилиты server-info, в комментарии - наблюдаемая беспроблемная работа сетевых карт, использующих этот драйвер:

            'driver': {
                'mlx5_core': 10,  # 7500 mbit/s
                'mlx4_en': 9,  # 6500 mbit/s
                'i40e': 8,  # 6000 mbit/s
                'ixgbe': 7,  # 4000 mbit/s
                'igb': 6,  # 400 mbit/s
                'bnx2x': 4,  # 100 mbit/s
                'e1000e': 3,  # 80 mbit/s
                'e1000': 3,  # 50 mbit/s
                'r8169': 1, 'ATL1E': 1, '8139too': 1,  # real trash, you should never use it
            }

Число очередей

  • Сетевые карты с одной очередью не рекомендуются
    • Компенсировать их неэффективность можно с помощью технологии RPS
  • Сетевые карты с 1 rx-очередью и 1 tx-очередью тоже не подходят, т.к. TX-трафика при приёме зеркала нет
  • Некоторые сетевые карты умеют работать только с числом очередей кратным степени двойки, использование 6-ядерных процессоров с ними неэффективно.

Число портов

  • Порты одной сетевой обрабатываются одним процессором (принадлежат к 1 NUMA-ноде), поэтому:
    • Двухпортовые сетевые карты имеет смысл использовать только при сборе бонда (LAG)
    • При наличии двух процессоров в системе лучше приобрести две однопортовые карты и вставить их в слоты так, чтобы они принадлежали к разным NUMA-нодам.

Материнская плата и корпус

Число слотов под сетевые карты

  • Слотов должно хватать на установку PCI карт.
  • Места в корпусе сервера должно хватать под установку всех необходимых сетевых карт

Тип оперативной памяти

  • Используйте DDR4-память
  • В крайнем случае DDR3, но это станет узким горлышком при апгрейде сервера
  • DDR1 и DDR2 память не рекомендуется использовать при любом объёме трафика, она слишком медленная
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.