Как лучше определить требования к оборудованию для приложения? - PullRequest
17 голосов
/ 19 декабря 2008

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

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

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

Ответы [ 4 ]

15 голосов
/ 19 декабря 2008

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

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

Итак, допустим, среднее время взаимодействия равно & lambda ;. поскольку распределение времени является экспоненциальным, мы знаем, что мы можем аппроксимировать межвременное распределение времени нормальным с одним стандартным отклонением (1 & sigma;), равным & radic; & lambda ;. Итак, мы знаем, что

  • около 32 процентов времени, два страницы будут запрашиваться меньше, чем & lambda; - & radic; & lambda; секунд друг от друга.
  • около 5 процентов времени, два страницы будут запрашиваться меньше, чем & lambda; -2 & radic; & lambda; секунд друг от друга.
  • менее 1 процента времени, два страницы будут запрашиваться меньше, чем & lambda; -3 & radic; & lambda; секунд друг от друга.

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

4 голосов
/ 19 декабря 2008

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

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

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

1 голос
/ 19 декабря 2008

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

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

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

0 голосов
/ 19 декабря 2008

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

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

...