2011-01-26 4 views
4

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

В этом answer содержатся некоторые очень хорошие общие предложения, но я ищу особенности того, где рамки не оправдывают ваших ожиданий.

+1

До сих пор нет ничего, связанные с производительностью, где база отстает от моих ожиданий. ASP.NET MVC настолько хорошо масштабируется, что единственным узким местом в нашем приложении является производительность SSRS при создании очень больших отчетов. –

ответ

8

Структура ASP.NET MVC отличная, и сайты, подобные этим, которые используют это, являются очевидными примерами. В этом нет ничего, что повлияло бы на производительность моих приложений. Он просто работает очень хорошо. Что влияет на производительность - это плохой код или плохой архитектуры, но это определенно не то, что мы можем обвинить в этом. Проведя годы с веб-формами ASP.NET, я не могу сказать, что производительность MVC хуже или лучше, я могу сказать, что он превратил болезненный опыт написания веб-приложений во что-то, что приносит столько радости. Я успешно запускаю приложения в производстве с ASP.NET MVC 1.0 и никогда не испытывал никаких проблем.

В вашем вопросе вы упомянули о доступе к базе данных => это проблема, которую имеют все веб-приложения и которая не является неотъемлемой частью используемой структуры. Кроме того, в местах с интенсивным трафиком использование кеширования может повысить производительность, и ASP.NET MVC обладает некоторыми действительно хорошими механизмами кэширования.

Итак, все, что я могу сказать, это то, что вы и команда, поставляющая эту отличную инфраструктуру, очень хорошо справляетесь.

0

Теперь, когда я понимаю, кто задает этот вопрос, я лучше понимаю вопрос.

Самая большая проблема, с которой я столкнулся с MVC, заключается в том, что RenderPartial может быть очень медленным, когда вы используете встроенные ресурсы в виде представлений. Если я помню, это было вызвано тем, что VirtualPathProvider не так хорошо работает. Мы закончили тем, что пытались использовать memoization для ускорения некоторых вызовов, но в итоге пришлось начать запись непосредственно в выходной поток представления.

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

http://www.lostechies.com/blogs/hex/archive/2009/06/14/opinionated-input-builders-part-7-more-on-performance-take-2.aspx