Назад | Перейти на главную страницу

Производительность приложения MVC2 в Windows Server 2008 R2 с IIS7.5

Первоначально я разместил это на StackOverflow, но мне кажется, что проблема связана с конфигурацией оборудования / ОС. Я надеюсь, что у кого-то здесь был подобный опыт и он может дать совет.

Я развернул приложение MVC2 в IIS7.5, работающем на сервере Windows Server 2008 R2 Standard (физическая машина; Dell R710 с большим количеством памяти). Он подключается к базе данных SQL Server 2008 (также физический компьютер; Windows Server 2008 R2 Standard; Dell R710 с большим количеством памяти), и производительность приложений ужасна. Это довольно просто и требует лишь нескольких вызовов хранимых процедур.

Разработчик протестировал приложение, работающее в отладчике, на своей собственной рабочей станции (Windows 7, 64-бит; IIS7.5), подключенной к той же серверной части базы данных. Он кричит. Нагрузки в мгновение ока. Запуск под Server 2008 R2 занимает около 10-15 секунд и делает паузу между каждым обращением к БД. Я запускаю тесты в SQL Server Profiler, и SP работают быстро. Проблема с производительностью проявляется при переходе на Server 2008 R2.

Что я пробовал до сих пор:

Каждый из них не оказал заметного влияния на производительность.

Любая помощь в диагностике этой проблемы с производительностью будет принята с благодарностью, спасибо.

ОБНОВЛЕНИЕ 1:

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

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

-Первая скорость: <1 сек.

-Второй ход: 5 сек.

-Третья скорость: <1 сек.

-Четвертая скорость: <1 сек.

-Пятая скорость: 6 сек.

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

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

Основные ответы:

MVC должен быть быстрым на сервере.

Есть ли различия в аутентификации? Клиент -> IIS или IIS -> SQL? Как это устроено?

И вы уверены, что приложение работает под управлением IIS 7.5, а не IIS Express или ASP.Net Development Server?

Причина, по которой я спрашиваю, заключается в том, что серверы разработки IIS Express и ASP.Net запускаются как идентификатор пользователя - проблема аутентификации может быть не очевидна оттуда (особенно при локальном запуске).

Плохо ли он работает на сервере при запуске с консоли (если это вариант - я бы обычно не отключал проверки обратной связи и т. Д., Просто чтобы заставить его работать оттуда)?