ASP.NET MVC Performance

С сайта Firebase Hosting (выделено мной):

Мы передаем весь ваш статический контент (html, js, images и т. д.) поверх безопасного SSL и обслуживать его на CDN.

blockquote>

Firebase Hosting предназначен для размещения статических активов. Firebase в настоящее время не предлагает никакого способа выполнить ваш код на серверах Firebase.

Update (2018-08-08): вы можете запустить Node.js / код JavaScript bu , соединяющий ваш проект Firebase Hosting с облачными функциями + хостинг Firebase . Но это все еще не позволит вам запускать PHP-код.

102
задан 6 revs, 4 users 47% 18 June 2012 в 17:20
поделиться

10 ответов

Мы не выполнили тип масштабируемости, и перфект тестирует необходимый для предложения любых заключений. Я думаю, что ScottGu, возможно, обсуждал потенциальные цели перфекта. Поскольку мы двигаем Бету и RTM, мы будем внутренне делать больше тестирования перфекта. Однако я не уверен, что наша политика находится на публикации результатов тестов перфекта.

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

69
ответ дан 24 November 2019 в 04:29
поделиться

Я начал работу в MVC приблизительно год назад, я был вдохновлен, но не впечатлен.

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

Я взял в основном понятие Платформы MVC ASP.NET и создал это моим собственным способом. Я изменил несколько вещей все же. Я создал свой код обертывания контроллера или код маршрутизации URL вокруг динамической перекомпиляции.

Теперь, я пошел бы до, чтобы сказать, что ASP.NET приложения MVC будет быстрее на основе того, как Вы используете его. При завершенном отказе от WebForms, Вы будете более быстрым becuase, жизненный цикл ASP.NET и объектная модель огромны.

Когда Вы пишете инстанцирование армии... никакие не ожидают, легион объектов, которые будут участвовать в рендеринге представления. Это собирается быть медленнее, чем если бы Вы, где выразить минимальную сумму поведения на самой странице ASPX. (Я не забочусь об абстракции механизма представления, потому что поддержка страниц ASPX в Visual Studio достойна, но я полностью отбросил WebForms как понятие и в основном любую платформу ASP.NET, должную кодировать чрезмерное увеличение размера или не бывший способный изменять вещи, которые соединяют мое приложение проводом).

Я нашел способы доверия динамической перекомпиляции (Система. Отражение. Испустите) для испускания объектов особого назначения и кода при необходимости. Выполнение этого кода быстрее, чем отражение, но первоначально созданное через сервис отражения. Это дало мою приправленную высокую эффективность платформы MVC, но также и очень со статическим контролем типов. Я не использую наборы пары имя/значение и строки. Вместо этого мои пользовательские сервисы компилятора входят в переписывание сообщения формы к действию контроллера, передаваемому ссылочный тип. Позади сцены существует много вещей продолжение, но этот код быстр, намного быстрее, чем WebForms или Платформа MVC.

Кроме того, я не пишу URL, я пишу лямбда-выражения, которые переводятся в URL, которые позже говорят который действие контроллера вызвать. Это не особенно быстро, но это бьется повреждавший URL. Это похоже, если у Вас были ресурсы со статическим контролем типов, а также объекты со статическим контролем типов. Веб-приложение со статическим контролем типов? Именно это я хочу!

Я поощрил бы больше людей испытывать это.

2
ответ дан 24 November 2019 в 04:29
поделиться

Нет действительно никакого способа ответить на это. MVC использует механизм представления Web Forms по умолчанию сам и может быть настроена для использования любого количества пользовательских механизмов представления, поэтому если Вы хотите сравнение производительности, необходимо будет быть более конкретными.

2
ответ дан 24 November 2019 в 04:29
поделиться

Единственные конкретные числа, которые я могу найти, которые являются от ранней MVC-разработки ASP.NET, находятся на этом потоке форума:

http://forums.asp.net/p/1231621/2224136.aspx

Сам Rob Connery несколько подтверждает оператор, что ScottGu утверждал, что ASP.NET MVC может служить 8 000 запросов в секунду.

Возможно, Jeff и его команда могут дать некоторую подсказку от их разработки этого сайта.

6
ответ дан 24 November 2019 в 04:29
поделиться

Мое тестирование показывает что-то между 2x и 7x больше req/sec на MVC, но это зависит, как Вы создаете свое приложение веб-форм. С просто "привет мировой" текст на нем, без любого серверного управления, mvc приблизительно на 30-50% быстрее.

14
ответ дан 24 November 2019 в 04:29
поделиться

Для меня реальное улучшение "производительности" MVC является увеличением тестируемая поверхность приложения. С WebForms было много приложения, которое было трудно протестировать. С MVC в основном, удваивается объем кода, который становится тестируемым. В основном все, что не является легко тестируемым, является кодом, который генерирует расположение. Вся Ваша бизнес-логика и логика доступа к данным - включая логику, которая заполняет фактические данные, используемые в представлении - теперь поддается тестированию. В то время как я ожидаю, что это будет более производительным также - жизненный цикл страницы значительно упрощен и более более поддается веб-программированию - даже если бы это было то же, или немного медленнее на это стоило бы переключиться с качественной точки зрения.

12
ответ дан 24 November 2019 в 04:29
поделиться

Я думаю, что многие люди, которые думают, что WebForms являются по сути медленными или интенсивно использующие ресурсы, возлагают вину в неправильном месте. 9 раз из 10, когда я ввожусь для оптимизации приложения веб-форм, существует слишком много мест, где авторы приложений неправильно понимают цель состояния отображения. Я не говорю, что состояние отображения прекрасно или что-либо, но Слишком легко злоупотребить им, и именно это злоупотребление вызывает чрезмерно увеличенное в размерах поле состояния отображения.

Эта статья была invalueable в помощи мне понять многие из этих злоупотреблений. https://weblogs.asp.net/infinitiesloop/truly-understanding-viewstate

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

29
ответ дан 24 November 2019 в 04:29
поделиться

Это уменьшило одну из моих страниц от полезной нагрузки 2 МБ, к 200k, только путем устранения состояния отображения и создания этого терпимым программно для работы с отправленным выводом.

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

42
ответ дан 24 November 2019 в 04:29
поделиться

Я думаю, что проблема здесь состоит в том, что, неважно, сколько более быстрый ASP.NET MVC, чем старые веб-формы, это не будет иметь значения, потому что большую часть времени взятый находится в базе данных. Большую часть времени Вы веб-серверы будете сидеть при 0-10%-м использовании ЦП, просто ожидая на Вашем сервере базы данных. Если Вы не получаете чрезвычайно большое количество хитов на Вашем веб-сайте, и Ваша база данных чрезвычайно быстра, Вы, вероятно, не заметите большой разницы.

7
ответ дан 24 November 2019 в 04:29
поделиться

Я думаю, что это будет трудным вопросом окончательно ответить, поскольку так много будет зависеть от того, A) как Вы реализовываете приложение WebForms и B) как Вы реализовываете приложение MVC. В их "необработанных" формах MVC, вероятно, быстрее, чем WebForms, но годы и годы инструментов и опыта произвели много методов для того, чтобы создать быстрые приложения WebForms. Я был бы готов держать пари, что старший разработчик ASP.NET мог произвести приложение WebForms, которое конкурирует со скоростью любого приложения MVC - или, по крайней мере, достигните незначительного различия.

Реальная разница - как @tvanfosson предложенный - находится в тестируемости и чистом SoC. Если улучшение производительности является Вашим главным беспокойством, я не думаю, что это - большая причина дезертировать с корабля на WebForms и начать восстанавливать в MVC. Не, по крайней мере, пока Вы не попробовали доступные методы за оптимизацию WebForms.

48
ответ дан 24 November 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: