Как лучше определить требования к оборудованию для приложения?
Какие методы вы используете, чтобы определить, какое оборудование вам нужно для сервера?
Мне часто очень сложно предсказать, какое оборудование вам понадобится для веб-приложения с базой данных.
Есть ли у вас хорошие методы или рекомендации, как лучше выбрать оборудование для использования?
4 ответа
Это своего рода основной вопрос планирования мощности. Вы начинаете с определения модели рабочей нагрузки, которая описывает, что вы ожидаете получить с точки зрения трафика. Это может быть так просто, как "Я ожидаю, что 20 просмотров страниц в минуту максимум".
Тогда вам нужно подумать о взрывных нагрузках. В случае отсутствия каких-либо других данных, вы можете предположить, что межвременные интервалы распределены экспоненциально, что означает, что если у вас есть запрос страницы в момент времени t 0, вы с такой же вероятностью будете иметь следующий приход t через очень короткое время после t 0, как много времени. (Это грубое упрощение, но оно подойдет для одностраничного ответа.)
Итак, скажем, среднее время поступления составляет λ. поскольку распределение времени является экспоненциальным, мы знаем, что мы можем аппроксимировать межвременное распределение времени нормалью с одним стандартным отклонением (1σ), равным √λ. Итак, мы знаем, что
- в 32 процентах случаев две страницы будут запрашиваться с интервалом не более λ- √λ секунд.
- примерно в 5 процентах случаев, две страницы будут запрашиваться с интервалом менее двух секунд.
- менее чем в 1 проценте времени, две страницы будут запрошены с интервалом менее 3- 3 секунд.
Решите, что вы готовы принять, и протестируйте, чтобы убедиться, что ваша веб-система может выдержать эту скорость.
В дополнение к тому, что говорит Чарли, когда у вас есть модель рабочей нагрузки, вы можете использовать ее для моделирования вашей системы, чтобы определить мощность, необходимую для удовлетворения этой нагрузки. Есть несколько инструментов, которые могут сделать этот вид симуляции:
Это не легко, и коммерческие инструменты будут стоить вам.
Вы также можете попытаться найти эталонный тест, близкий к ожидаемой нагрузке, и посмотреть, какие системы обеспечивают требуемую производительность. Ориентиры TPC были бы хорошим началом.
Я полагаю, что ваше веб-приложение не является критически важным бизнес-приложением, так как вы сказали "сервер" и "база данных", в противном случае вам, возможно, следует искать какие-то средства избыточности?
На работе у нас есть некоторые рекомендации по аппаратному обеспечению, и последнее предложение состоит в том, что сервер должен быть 64-битным, так как SharePoint 14 выглядит как 64-битная версия.
Если вы можете себе это позволить, я бы порекомендовал, чтобы сервер SQL был 64-битным, так как большинство людей согласны с тем, что добавление большего объема ОЗУ (более 4 ГБ) действительно окупается.
Это действительно зависит от требований вашего веб-приложения и ожиданий трафика.
Очень немногим веб-сайтам потребуется более одного разумного выделенного сервера в течение первых месяцев. И если вы это сделаете, то вы, вероятно, можете позволить себе купить больше оборудования;)