2009-11-28 4 views
1

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

ASP.NET 3.5 Веб-сайт - используется в качестве презентационного слоя, много AJAX и JS. Не будет сильно ударить по серверу.

ASP.NET WCF - служба, предоставляющая все данные для приложения. Он отвечает за проверку, моделирование данных/подготовку и связь с сервером БД.

База данных - SQL Server 2005 Std, некоторая логика кодируется на стороне сервера в качестве хранимых процедур. Некоторая логика может занять много времени. По-моему, это самая ресурсоемкая часть приложения.

Веб-сайт может иметь до 1000 пользователей в минуту. У нас может быть до 4 серверов в следующей конфигурации: Intel Bi Xeon Quad 8x 2.00+ ГГц, 16 ГБ оперативной памяти, SSD или RAID диски.

Каков наилучший способ разместить части приложения на физических серверах? Будут ли они обрабатывать такую ​​нагрузку?

+0

Если вы спросите об этом на [serverfault] (http://serverfault.com/), вы можете получить еще несколько ответов. – LukeH

ответ

0

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

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

Это большой вопрос. В попытке дать достаточно полный ответ на этот вопрос, я в конечном итоге написал книгу об этом: Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET and SQL Server.

1

Менее масштабируемое место в любом приложении является сервером базы данных, вы можете добавить больше веб-серверов и приложений, но вы не можете реплицировать БД с такой же легкостью, чтобы вы могли выиграть в долгосрочной перспективе, если БД не будет содержать никакой логики, особенно любая длинная логика. Во многих приложениях ограничивающий фактор не является процессором, но память думает о сеансах пользователя, если вы храните 1 мб данных на одного пользователя, ваши приложения смогут поддерживать 64 000 сеансов пользователя silmantanius с вашими машинами, которых может быть достаточно или нет. Обе проблемы можно смягчить с помощью кэширования на уровне приложений, но это может вызвать собственный набор проблем, поскольку теперь вы столкнулись с устаревшими данными. Для масштабирования сессионных сайтов вам необходимо использовать решение для балансировки нагрузки, которое поддерживает липкие сеансы, для ваших нагрузок, скорее всего, вам понадобится балансировка нагрузки оборудования.

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