Как лучше всего определить требования к оборудованию для приложения

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

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

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


person John Sonmez    schedule 18.12.2008    source источник


Ответы (4)


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

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

Допустим, среднее время между прибытиями равно . поскольку распределение времени является экспоненциальным, мы знаем, что можем аппроксимировать распределение времени между прибытиями с нормальным, с одним стандартным отклонением (1), равным . Итак, мы знаем, что

  • примерно в 32 процентах случаев две страницы будут запрашиваться с разницей в несколько секунд.
  • примерно в 5% случаев две страницы будут запрашиваться с интервалом менее 2 секунд.
  • менее чем в 1% случаев две страницы будут запрашиваться с интервалом менее 3 секунд.

Решите, что вы готовы принять, и протестируйте, чтобы убедиться, что ваша веб-система выдержит такую ​​скорость.

person Charlie Martin    schedule 18.12.2008
comment
Можете ли вы уточнить ваши расчеты по времени между прибытиями? Через 5 секунд случай 3σ/1% фактически становится отрицательным (-1,7). Это не имеет смысла... - person Eric Nguyen; 07.12.2009
comment
Если у вас меньше нуля прибытий в секунду, сколько прибытий. Ну, ноль. Меньше нуля быть не может. - person Charlie Martin; 07.10.2015

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

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

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

person Patrick Cuff    schedule 19.12.2008

Я предполагаю, что ваше веб-приложение не является критически важным бизнес-приложением, поскольку вы сказали «сервер» и «база данных», иначе вам, возможно, следует искать какие-то средства избыточности?

На работе у нас есть некоторые рекомендации по оборудованию, и последнее предложение состоит в том, что сервер должен быть 64-битным, поскольку SharePoint 14 выглядит как 64-битная версия.

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

person Kasper    schedule 18.12.2008

Это действительно зависит от требований вашего веб-приложения и ожидаемого трафика.

Очень немногим веб-сайтам потребуется более одного разумного выделенного сервера в течение первых месяцев. И если вам это понадобится, то вы, вероятно, сможете позволить себе купить больше оборудования ;)

person Stephane Grenier    schedule 18.12.2008