2013-10-14 4 views
-2

Я знаю, что это очень общий вопрос и зависит от многих вещей. Но у меня есть приложение, производительность которого сильно отличается от одного запроса к другому. Все решение выглядит примерно так:Каковы общие требования к оборудованию для веб-приложения ASP.NET?

Веб-приложение (ASP.NET) - веб-служба (WCF) - сервер приложений - SQL Server.

Веб-приложение вызывает веб-сервис, который, в свою очередь, вызывает COM-сервер, который в конечном итоге переходит к базе данных, если это необходимо. Все эти компоненты находятся на разных серверах, и я не уверен, как найти узкое место. Как я упоминал ранее, иногда для загрузки одной страницы иногда используется 50 секунд, в то время как некоторый запрос позже или раньше времени использования составляет 1-3 секунды для одной и той же страницы. Если код плохо написан или медленный, это всегда будет, по каждому запросу, правильно?

На серверах, которые являются виртуальными, у нас есть 4 ГБ ОЗУ и около 100 ГБ на диске, некоторые из них - 64-битные, а некоторые 32-битные. Некоторые из них - Win Server 2012, а некоторые - 2008. Я ищу некоторые общие рекомендации и рекомендации по настройке приложения для примерно 100 пользователей.

У вас есть виртуальная среда для таких приложений? Достаточно ли 4 ГБ? Как насчет процессора? Есть ли какие-либо чтения по этой теме, которые я мог бы прочитать?

Благодарим за отзыв!

ответ

1

Не зная больше о вашем приложении, я могу только догадываться, но похоже, что вы набираете затраты на запуск. В зависимости от того, насколько загружен ваш загрузочный код приложения ASP.NET, он может занять от нескольких секунд до полной минуты, чтобы он мог отвечать на первый запрос, после чего рабочий процесс был «разогрет» и остается в памяти. Если у вас есть одно приложение приложения ASP.NET, вы дважды удаляете эту проблему с запуском. В новых версиях IIS (7.5+) есть параметр (Start Automatically), который позволяет указать, что AppPool должен быть запущен до того, как возникнут какие-либо запросы, что может помочь здесь.

+1

Благодарим вас за ваше время, Энди. Снижение производительности происходит в середине сеанса пользователей, шаблона нет, но он может быть случайным. Я ищу что-то вроде: - «На 64-битном сервере Windows 2012 вы должны иметь как минимум 8 ГБ ОЗУ». Разве это не учитывать? –

+0

Я должен добавить, что это приложение веб-формы, работающее с WCF-сервисом с использованием надежных сеансов. –

+0

Не совсем. Предполагая, что это единственное приложение, работающее на уровне Web и AppServer, до тех пор, пока вы находитесь выше концерта или нет, вы не столкнетесь с каким-либо странным замедлением (которое, как правило, происходит от таких вещей, как пейджинг в/из диск, который происходит в конфигурациях с малой физической памятью). Работа на виртуальной машине не должна иметь такого драматического воздействия (если только сама хост-машина не является сильно используемой). –

Смежные вопросы