Производительность MVC2 в Windows Server 2008 R2 IIS7 - PullRequest
0 голосов
/ 26 апреля 2011

Я развертываю приложение MVC2 под IIS7 на сервере Windows Server 2008 R2 с большим количеством лошадиных сил. Он подключается к БД SQL Server 2008, и производительность приложений значительно ниже, чем при работе в отладчике на рабочей станции разработчика (при подключении к той же БД SQL Server). Я уже проверил сетевые подключения, и ничто в журналах событий не указывает на проблему с Windows. Я также запустил Profiler на сервере БД, и запросы быстро выполняются.

Буду признателен за любую помощь в диагностике этой проблемы производительности. Я даже построил новый сервер 2008 R2 для его тестирования в надежде, что это был сам сервер, но производительность была такой же.

Спасибо

Редактировать 1:

IIS работает на сервере Dell R710 под управлением Windows Server 2008 R2 Standard, оперативной памяти 32 ГБ. SQL Server 2008 размещается на отдельном R710 под управлением Server 2008 R2 Standard, оперативной памяти 12 ГБ. Первоначально IIS работал на ВМ, но я переместил его на физическую машину, чтобы посмотреть, не было ли снижение производительности из-за ВМ. Я испытываю одинаковую производительность на обоих, так что похоже, что это не фактор.

Редактировать 2:

Похоже, что открытие соединения с базой данных является частью узкого места, а последующий запуск хранимых процедур также занимает значительное время:

-Открытое соединение БД: 5 секунд (последующие соединения кэшируются, поэтому они не требуют 5 секунд)

-первое появление: <1 сек </p>

-Второе время: 5 с

- третий росток: <1 сек </p>

- четвертый спрок: <1 сек </p>

-пятый sproc: 6 сек

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Во-первых, Windows Server 2008 R2 имеет IIS 7.5, а не IIS7. Вероятно, не имеет значения. Однако это другая версия.

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

1 голос
/ 27 апреля 2011

Вот слайды из презентации об оптимизации приложений ASP.NET MVC.Они смогли повысить производительность своего приложения с 8 до 400 запросов в секунду.

Они упоминали на слайдах, как они профилировали его и выявляли узкие места (компиляция запросов, множество обращений к RenderPartial, генерация URL и т. Д.).) и дать несколько советов в конце презентации.

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