Как утверждают другие, большинство веб-серверов используют несколько процессов или потоков (лучше) для одновременного обслуживания нескольких запросов. В частности, вы можете установить каждый пул приложений ASP.NET с максимальным количеством запросов в очереди и максимальными рабочими процессами. Каждый процесс имеет несколько потоков до максимума (не настраиваемый AFAIK, может быть, я ошибаюсь), а входящие запросы обрабатываются по принципу «первым в первом».
Кроме того, ASP.NET обрабатывает один запрос для каждого сеанса, но вредоносный пользователь может открыть столько сеансов, сколько захочет.
Несколько логинов, вероятно, попадут в базу данных и принесут его на колени, вероятно, до самого веб-сервера.
Насколько я знаю, нет встроенного способа дросселирования запросов ASP.NET, кроме установки максимального количества запросов в очереди (ожидающих обработки). Это число должно быть идеально маленьким. Вы можете контролировать количество ASP в очереди.NET с использованием счетчиков производительности. Скажем, вы обнаружите, что при пиковом трафике это число равно 100. Затем вы можете обновить приложение, чтобы оно отказывалось от попыток входа в систему, когда это число превышает 100, чтобы база данных не попадала (никогда не делала этого, просто мысль).
Есть ли максимальное количество запросов, которые можно обрабатывать? Этот максимум включает несколько веб-сайтов, размещенных на одном сервере? Пример: если веб-сервер может обрабатывать 5000 запросов, и есть два веб-сайта, размещенных на этом сервере, означает ли это, что его 5000 запросов на обоих веб-сайтах? –