Microsoft Asp.Net и IIS & ограничения сервера - PullRequest
1 голос
/ 09 июля 2010

Как я могу проверить свои ограничения веб-приложения asp.net.Соединения пользователей и т. Д. И ограничено ли мое приложение производительностью сервера и IIS или каковы другие факторы?Как я могу разместить приложение, которое будет использоваться миллионами людей?

Ответы [ 2 ]

3 голосов
/ 09 июля 2010

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

Что касается тестирования вашего приложения, Visual Studio поставляется с несколькими плагинами, которые могут выполнять нагрузочное тестирование и анализ производительности вашего приложения. Я не знаю, какая версия VS вам нужна, чтобы получить доступ к этим функциям, однако я полагаю, что они доступны начиная с версии Professional . В отсутствие Visual Studio для выполнения этих тестов доступно множество программ, просто поищите в Google ASP.Net нагрузочное тестирование . Одно приложение, которое работает с Apache, также работает с IIS, доступно здесь .

С точки зрения размещения вашего приложения, это действительно зависит от того, сколько пользователей вы ожидаете. Многие волнуются и говорят "миллионы пользователей" , но на самом деле для большинства людей это лишь малая доля. Если вы честно заинтересованы в таком большом масштабировании, есть пара вариантов:

  • Хост в облаке - Amazon Web Services и Microsoft Azure - это два варианта, которые можно масштабировать до бесконечности и поддерживать ASP. Чистая практически из коробки с нулевой конфигурацией. Имейте в виду, однако, что эти опции могут стать очень дорогими, особенно если вы начнете использовать много процессорного времени и пропускной способности. Однако положительным моментом является то, что вы не потеряете производительность или пропускную способность, если на вашем сайте 1 тысяча посетителей или 1 миллион.

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

Независимо от того, что вы решили сделать, оба варианта могут быть дорогими. Хостинг в облаке стоит немного вперед, но может стать очень дорогим по мере роста; Выделенные серверы или совместное размещение обычно имеют большие первоначальные затраты (за плату за установку и / или дополнительное оборудование), но в целом дешевле и в долгосрочной перспективе.

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

Удачи!

1 голос
/ 09 июля 2010

Первый предел, с которым вы столкнетесь, - ваш.

Что я имею в виду под этим.Основная проблема заключается в том, что более чем один пользователь одновременно запрашивает страницу.

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

Если ваши страницы задерживаются на рендеринг более 500 миллисекунд, и на их отправку уходит более 3-10 секунд, и 2 или более пользователей одновременно запрашивают такую ​​же мысль, ваш второй пользовательполучает больше лагов.Также существует проблема, что один пользователь запрашивает длительный запрос на ожидание и останавливает остальных для получения чего-либо до тех пор, пока этот процесс не закончится.

Первое решение состоит в том, чтобы использовать более работающие пулы (веб-сад).что вам нужно обеспечить хорошую синхронизацию ваших данных, потому что теперь 2 пользователя могут изменить одно и то же мнение одновременно.

Итак, моя точка зрения такова: создайте хороший дизайн своих страниц, и когда вы получите миллионыиз пользователей единственное, что вам нужно, это деньги, чтобы получить больше компьютеров и создать веб-ферму (обновление из веб-сада).

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

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

Надеюсь, что это поможет.

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