Конфигурация.NET Web и сервера приложений

В настоящее время мы создаем приложение ASP.net N-Tier на платформе.NET 3.5 с Oracle 10gR2 в качестве внутренней базы данных. Приложение требует больших объемов данных и транзакций и должно поддерживать среднюю нагрузку около 600 одновременно работающих пользователей.

Предполагается использовать Windows Server 2008 / IIS7 как для веб-уровня, так и для уровня приложений. 64 бит, безусловно, вариант. Серверы баз данных уже установлены и не рассматриваются в данный момент.

Поскольку приложение все еще находится в разработке, я не в состоянии выполнить нагрузочное / тестовое тестирование и использовать эти данные, чтобы получить примерное количество / тип оборудования, которое потребуется для предполагаемой нагрузки. Кроме того, любая идея относительно того, какие серверы / процессоры являются стандартом для такой конфигурации.

У меня очень ограниченный опыт / знания в отношении серверного оборудования / моделей и даже меньше в отношении стоимости, поэтому любая помощь по любому из этих параметров будет принята с благодарностью!

2 ответа

Решение

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

Очевидно, что многое из этого зависит от того, что на самом деле делает ваш код, и насколько хорошо он написан, но вы должны иметь возможность обрабатывать в среднем 200 пользователей на сервер (если каждый сеанс пользователя не представляет десятки мегабайт памяти) на Dell R710, Если для пользовательских сессий потребуется много памяти, то некоторая математика, разделяющая вашу общую память, которую IIS может использовать на количество памяти, которое потребуется каждой сессии, должна привести к числу ваших "одновременных пользователей на сервер".

При правильной настройке Windows/IIS на удивление устойчива. Я последовательно достигал 10000 обращений в секунду на сервере IIS6 (в рамках теста выгорания перед переходом на prod). Убедитесь, что вы внимательно смотрите на perfmon, когда у вас есть некоторый код для тестирования, и настраивайте его соответствующим образом.

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

Другие вопросы по тегам