Я пытаюсь лучше понять, как работают потоки в ASP.NET, поэтому у меня есть тестовый сайт с несколькими страницами, и у меня есть тестовый клиент WinForms, который создает 40 примерно параллельных запросов на тестовый сайт. Запросы занимают около 5-10 секунд для завершения - они называют веб-службу на другом сервере. Когда я запускаю тестовый клиент, я могу использовать Fiddler, чтобы видеть, что запросы выполняются одновременно. Однако, когда я смотрю на Performance Monitor на веб-сервере, с счетчиками «ASP.NET Apps v2.0.xxx/Requests Executing», «ASP.NET/Requests Current», «Queens Requests Queued», эти счетчики никогда отображать больше 2. Это происходит независимо от того, настроена ли тестовая страница, которую я запрашиваю, с помощью Async = True и с использованием шаблона «Начало/Окончание» вызова веб-службы или если она настроена на синхронный вызов. Судя по тому, что я вижу в Fiddler, я думаю, что я должен увидеть 40 запросов в одном из этих штатов, но я этого не делаю. Почему это? Разве эти счетчики не означают, что я имею в виду?Что означают счетчики производительности ASP.NET?
3
A
ответ
0
Если запросы идут на один и тот же сервер, это может привести к ограничению доступа к системе System.Net и обработке только двух соединений за раз.
В этом stack overflow question показан пример изменений в web.config, чтобы включить дополнительные подключения.