ASP.Net MVC Плохая производительность - PullRequest
0 голосов
/ 30 октября 2011

У нас есть приложение MVC 3, которое было развернуто на недавно построенном сервере Windows 2008 R2 Web Edition, которое работает плохо.

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

Единственное отличие, которое мы можем видеть на сервере, состоит в том, что он находится в демилитаризованной зоне и поэтому имеет два настроенных сетевых адаптера: один для Интернета и один для подключения через межсетевой экран.

Мы добавили в приложение все виды регистрации и подтвердили, что до «возврата ActionResult» все работает правильно (т. Е. ~ 500 мс). Затем рендеринг страницы занимает 15 секунд.

Мы попытались включить debug = false в конфигурационном файле, я не уверен, что еще искать здесь, похоже, проблема среды.

Есть предложения, пожалуйста? Я собираюсь выяснить, может ли размер пула потоков вызывать проблемы.

Кроме того, если это помогает, когда страница использует несколько частичных представлений, я читал, что у других возникли проблемы с ними.

Спасибо, Matt

1 Ответ

1 голос
/ 30 октября 2011

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

  1. База данных - вы работаете с другой базой данных? Как долго выполняются запросы? Если у вас есть неоптимизированная база данных с миллионами записей в производстве, и только несколько записей в тесте, вы хотите найти проблемы с производительностью достаточно скоро.

  2. Сеть - какова задержка между веб-боксом и базой данных? Если вы теряете 100 мс на каждый запрос к базе данных только из-за сети, то если ваша страница вызывает 50 запросов, вы теряете 5 сек. Я видел плохо настроенные маршрутизаторы / балансировщики нагрузки, которые делали именно это.

Попробуйте профилировать каждый компонент вашей системы (БД, сеть, веб-блок), чтобы узнать, на что вы тратите все это время. Попробуйте http://code.google.com/p/mvc-mini-profiler/.

PS. Вы ДОЛЖНЫ иметь debug=false в вашей рабочей среде

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