Как вы определяете оборудование, необходимое для сервера? [закрыто]

Я хотел бы знать, как вы определяете оборудование, необходимое для сервера?

У меня есть DB Server под управлением MySQL, и теперь я хочу купить сервер, но я не знаю, какая спецификация оборудования мне нужна. Это сервер для размещения веб-страницы.

РЕДАКТИРОВАТЬ: программное обеспечение, это просто MySQL Server

11.12.2008 13:44:33
Вероятно, имеет большое значение, если ваш сервер должен получать один запрос в час или миллионы, и ваши требования безопасности, вероятно, тоже имеют большое значение. И размер вашей базы данных тоже. И сложность ваших запросов ... и так далее. Кроме того, Stack Overflow - это сайт вопросов и ответов, связанный с кодированием. Ваш вопрос слишком широкий и не по теме, ИМХО. Если вы говорите о минимальных требованиях, быстрый поиск в документации по MySQL подойдет. Но вам также необходимо знать, какой тип и версию MySQL вы хотите использовать. И я только заметил, что этому вопросу 9 лет.
Pac0 28.06.2018 20:52:49
8 ОТВЕТОВ
РЕШЕНИЕ

Все зависит от того, сколько нагрузки ожидается от приложения. Но, как минимум, я бы выбрал 2 x CPU или одноядерный одноядерный процессор, как минимум 4GB RAM и приличный RAID-контроллер. В зависимости от ваших требований к производительности и хранилищу - я бы начал с RAID 1 (зеркальное отображение) и расширил его до RAID 10 (зеркальные полосы) во всем (ОДНО - полоса и зеркальное отображение всего).

Получить несколько приличных точек сети тоже.

Это должно, по крайней мере, дать вам достаточный запас, если вам нужно расширяться.

13
11.12.2008 13:53:43
Глядя на это в 2018 году, я был в замешательстве, пока не увидел, что этот ответ был написан в 2008 году.
Steffen Winkler 9.11.2018 09:43:43
Принятый ответ не
Guy 12.06.2019 20:24:30

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

Когда я задаю сервер, я всегда покупаю лучшую спецификацию, которую могу себе позволить.

Я обычно покупаю довольно стандартную спецификацию, за исключением сервера баз данных, когда я пытаюсь получить самые быстрые диски, которые я могу себе позволить.

1
11.12.2008 13:56:46

Почему бы не провести нагрузочное тестирование на своем текущем сервере разработки и основывать свои решения на этом? Вы, вероятно, обнаружите, что можете использовать меньше, чем ожидалось, на своем первом сервере, а затем масштабировать, если / когда бизнес оправдывает это.

2
11.12.2008 13:56:32

Одним из способов является моделирование вашей системы и моделирование ожидаемой нагрузки. Есть несколько инструментов, которые могут выполнять подобную симуляцию событий:

Это не легко, и коммерческие инструменты будут стоить вам.

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

Удачи :)

4
11.12.2008 13:57:34
Эти инструменты кажутся излишними. ТПК это хорошая идея.
Brian Carlton 23.12.2009 16:47:20

Другой вариант - не получить отдельный сервер для БД, а разместить БД на существующем сервере. Для этого существует множество различных вариантов: от виртуализации (vmware, xen) или для выделения одного сервера в качестве «внутреннего сервера базы данных».

Маловероятно, что на современном оборудовании вы увидите значительное использование процессора на выделенном сервере.

Разрастание сервера дорого в долгосрочной перспективе. В конце концов, этот сервер нуждается в обновлении и замене. Если вам придется заменить несколько десятков (или несколько сотен), это может стать кошмаром.

1
11.12.2008 14:00:00

Это зависит от того, сколько хитов вам понадобится для обслуживания. Запустите программу на старом стандартном ПК, если можете, запустите профилировщик и посмотрите, сколько облагается налогом система. MySQL Gui Tools имеет Health Monitor, который сообщит вам, какой процент использования системы. Скорее всего, вам будет хорошо с любым старым ПК. Если вы не обслуживаете много или публичный сайт, как этот (который считается обслуживающим много)

1
11.12.2008 14:01:26

Базы данных могут быть жесткими по размеру. Скорость процессора обычно не является ключевой, но если это параллельная рабочая нагрузка, лучше больше ядер. Много памяти и быстрых дисков обычно являются ключевыми. Сейчас нередко можно увидеть 16 или 32 ГБ памяти на сервере MySQL. Конечно, это не имеет большого смысла, если ваш набор данных только 2 или 4 ГБ.

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

Если размер ваших данных превышает объем оперативной памяти, которую вы можете себе позволить, вы можете попытаться компенсировать это с помощью более быстрых дисков и с использованием более мелких дисков (8 x 74 ГБ вместо 4 x 136 ГБ).

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

Если вы работаете с крупными поставщиками (Dell, HP, Sun, IBM и т. Д.), Вы можете спросить, отправят ли они демонстрационный блок со спецификациями, которые вы рассматриваете. Таким образом, вы можете запустить свои тесты, прежде чем купить оборудование.

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

5
11.12.2008 15:59:12
Жевание процессорных ядер почти всегда означает отсутствие индексов или плохо сформулированные запросы.
Rick James 28.06.2018 19:06:23

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

Если у вас мало бюджета, я бы добавил больше памяти, на данный момент это очень недорого, особенно если вы используете модули 4GG (8-гигабайтные стоят более чем в два раза дороже, чем те, что у меня есть).

Если у вас есть немного больше, подумайте о приобретении четырехъядерной или двухъядерной системы.

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

Если восприятие клиента имеет первостепенное значение, приобретите HP или IBM с резервными блоками питания и всем вышеперечисленным, а также подумайте о том, чтобы соединить свои сетевые карты, если вас это беспокоит.

Удачи.

2
2.02.2009 17:47:46