ASP.NET приложения и использование процессора - PullRequest
3 голосов
/ 04 ноября 2011

У нас есть ванильное приложение ASP.NET (веб-формы ASP.NET, Entity Framework, SQL Server 2005) без какой-либо явной многопоточности из кода.Он был развернут в промежуточной среде (ОС - Windows Server 2008 R2 64-битная, ЦП - Intel Xeon E5507 @ 2,27 ГГц, 2,34 ГГц, ОЗУ - 7,5 ГБ).Эта среда состоит из сети, базы данных и сервера отчетов, каждый из которых является отдельным экземпляром в облаке (Amazon EC2).При тестировании на параллелизм наблюдения выглядят так:

1 пользователь - загрузка ЦП ~ 25%, время отклика 2-4 секунды

2 пользователя - загрузка ЦП 40-50%,Время отклика 3-6 секунд

4 пользователя - загрузка ЦП 60-80%, время отклика 4-8 секунд

8 пользователей - загрузка ЦП 80-100%, время отклика 4-10 секунд

Мои вопросы:

  1. Является ли загрузка ЦП относительно нет.одновременных пользователей?И время отклика может сильно варьироваться, как видно из приведенных выше наблюдений?

  2. Как видно из приведенных выше наблюдений, ЦП будет максимально увеличен, когда число одновременных пользователей составляет ~ 10.Разве ЦП не должен обрабатывать гораздо больше одновременно работающих пользователей при достаточно резком увеличении времени отклика?В идеальном случае, в случае базового приложения ASP.NET, сколько одновременных пользователей может обрабатывать ЦП?

  3. Если да в вышеуказанном вопросе, в чем может быть проблема для высокогоЦП / длительное время отклика?Какими путями нам следует воспользоваться для эффективной отладки, чтобы обнаружить узкие места в настройках кода / IIS?

PS: настройки IIS (т. Е. В machine.config), которые были изменены:

    maxWorkerThreads = 100
    MinWorkerThreads = 50
    maxIOThreads = 100
    minIOThreads = 50   
    minFreeThreads = 176        
    maxConnections = 100

1 Ответ

1 голос
/ 04 ноября 2011

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

ANTS Memory Profiler:
http://www.red -gate.com / продукция / DotNet-разработка / Муравьи-памяти профайлер /

ANTS Performance Profiler:
http://www.red -gate.com / продукция / DotNet-разработка / Муравьи-производительность-профайлер /

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

...