Как вы 'специфицируете' веб-сервер для поддержки определенного приложения?
Я испытываю большие затруднения, пытаясь получить достойные ответы на мои вопросы от продавцов VPS и выделенного хостинг-провайдера. У меня довольно простой набор требований - как выбрать спецификацию / пакет сервера и быть уверенным, что я правильно понял? Есть ли метрики для использования - например, количество запросов Http в минуту? Есть ли другие критерии? Как вы к этому подходите?
Начальные требования:
- должен поддерживать частное приложение ASP.NET, поддерживающее более 200 пользователей (возможно, до 1000). активность пользователя будет в основном непрерывной в течение рабочего дня
- приложение является более интенсивным, чем ваш средний "веб-сайт" (но не слишком)
- пользователи будут загружать и скачивать большие файлы
- требуется база данных MS SQL Server - (будет ли достаточно выпуска рабочей группы?)
- должен поддерживать еще 5 общедоступных доменов с низким уровнем трафика и практически без активности базы данных
Follow Up: Спасибо за ответы, ребята. У меня есть доступ к системе, которую я могу настроить для профилирования, поэтому кто-нибудь может порекомендовать какие-либо инструменты профилирования / нагрузочного тестирования?
4 ответа
Вы можете добавить все необходимые данные о количестве пользователей и т. Д. И даже сделать их более количественными, чем здесь, - ответить на этот вопрос невозможно.
Реальный ответ: профиль, профиль, профиль. Вы должны измерить, как приложение и его база данных ведут себя, чтобы определить любые ресурсы, необходимые для поддержки N пользователей на определенном уровне активности. Если вы действительно знаете или у вас есть основания полагать, что ваша программа будет иметь нетривиальную загрузку прямо из шлюза, то мой лучший совет вам - изучить инструменты и сервисы нагрузочного тестирования.
Ваши требования слишком расплывчаты, чтобы принять решение. Например, что такое большой файл? Что такое низкий уровень трафика?
Один из самых простых способов сделать это правильно - просто настроить тестовый сервер + сеть и попытаться смоделировать нормальную нагрузку.
Если вы не можете настроить тестовую среду, вы, вероятно, просто застряли в угадывании правильного размера, а затем протестировали в реальной системе и отрегулировали уровень обслуживания по мере необходимости.
Вы должны профилировать нагрузку, которую вы ожидаете. Затем вам следует выбрать поставщика, который сможет удовлетворить ваши ожидаемые потребности и обеспечить путь для роста. Вырастить намного легче, если ваш провайдер colo сможет изящно справиться с ростом.
То есть, если ваш проект является крупнейшим из когда-либо реализованных вашим провайдером или требует более сложного оборудования, чем они привыкли, вам нужно искать кого-то большего.
Когда вы знаете, чего хотите, будьте очень конкретны, но не слишком агрессивны в своих требованиях. Например, если вам нужно 8 ГБ памяти, скажем, 8 ГБ. Не говорите, что требуется 4 ГБ, но 16 ГБ было бы неплохо.
Я также запросил бы цитаты по двум системам: что вам нужно сегодня и что вам может понадобиться через год.
Вы на правильном пути с http-запросов в секунду. Также посмотрите на дисковый ввод и использование памяти IIS. Они должны знать, сколько трафика может обрабатывать их оборудование.
Редакция SQL Workgroup должна работать на вас - она работает до 3 ГБ памяти.
http://www.microsoft.com/sqlserver/2005/en/us/compare-features.aspx