Ядро Asp.Net (полная платформа .Net) и производительность ядра Asp.Net (.Net Core)

Я считаю, что одним из ключевых преимуществ ядра Asp.Net является многократное повышение производительности (запросов в секунду) по сравнению с традиционным Asp.Net. Я нахожу, что на многих сайтах с эталонными тестами говорится о производительности ядра Asp.Net, но я не уверен, основана ли производительность на ядре Asp.Net с базовой структурой .Net или такое же преимущество производительности применяется к ядру asp.net (полный .Net рамки).

Любая идея/статьи, которые объясняют/сравнивают производительность между ядром asp.net (ядро .Net) и asp.net (полная структура)?

Спасибо


person Venkatesh Muniyandi    schedule 13.05.2017    source источник
comment
Официальных эталонных тестов для сравнения нет, и TechEmpower сравнивает ASP.NET Core в Linux только с другими ОС и github. com/aspnet/benchmarks довольно старый и давно не обновлялся. Но вы можете взять репозиторий и следовать инструкциям по созданию нагрузки. Однако вам понадобятся два физических сервера: один для серверного приложения, а другой для генерации нагрузки, так как выполнение обоих на одном компьютере искажает результаты тестов (инструмент wrk также использует довольно много ресурсов для генерации такого количества запросов).   -  person Tseng    schedule 13.05.2017
comment
Спасибо @Tseng за указание на то, как проводить бенчмарк   -  person Venkatesh Muniyandi    schedule 13.05.2017
comment
Основным тестом ядра asp.net, который я вижу, является тест простого текста TechEmpower. В таком сценарии маловероятно, что существует разница в производительности между ядром asp.net, работающим по сравнению с полной платформой, или платформой ядра .net просто потому, что работающий код, вероятно, представляет собой просто код ядра asp.net (т. е. Kestrel и реализация ядра asp.net). родной)   -  person RonC    schedule 13.05.2017
comment
К сожалению, это не так. .NET Core намного быстрее .NET Framework в некоторых областях, что означает, что ASP.NET Core работает быстрее на .NET Core, чем .NET Framework (в тех же сценариях) . Обычно мы тратим больше времени на тестирование производительности .NET Core и удостоверяемся, что производительность .NET Framework находится на одном уровне, но мы не получаем такой же любви, потому что на уровне фреймворка мы можем сделать меньше.   -  person davidfowl    schedule 18.05.2017


Ответы (3)


Недавно я разрабатывал с использованием ASP.NET Core 2.0, и у меня есть тот же вопрос относительно повышения производительности помимо его отличной кросс-платформенной поддержки. Есть много сравнений с результатами поиска Google, и идея брифинга такова:

ASP.NET Core 2.0 примерно в 6–23 раза быстрее, чем ASP.NET 4.6.

Вот два ресурса для справки

https://www.ageofascent.com/2016/02/18/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/ https://github.com/aspnet/benchmarks

person Jim    schedule 04.12.2017

ASP.Net Core 2.0 почти в 2 раза быстрее, чем ASP.net 4.6, а также платформа ASP.Net 4.7.

При сравнении производительности полной платформы .Net с производительностью .Net Core выигрывает ASP.Net Core, но .Net Framework также имеет некоторое преимущество, поскольку некоторые встроенные функции работают с платформой asp.net.

Но с точки зрения скорости ASP.Net Core (.Net Core) выигрывает игру даже у Node.js.

person rishabh kumawat    schedule 12.04.2018

Мы проверяем производительность asp.net core 2.0 и выяснили следующее:


Основное приложение Asp.Net, размещенное или работающее в IIS с использованием основного модуля ASP.NET, имеет худшую производительность примерно на 60%, чем при работе с полным кадром. Второй случай: то же самое приложение, размещенное на собственном сервере и использующее IIS в качестве обратного прокси-сервера с модулем перезаписи URL-адресов, увеличивает производительность примерно на 20% лучше, чем Full FW. ПО 4.6.1.

Другим аспектом, оказывающим существенное влияние на производительность, является ведение журнала. Убедитесь, что тестируемое приложение не записывает журнал отладки/информации в консоль (по умолчанию). Тестируемая конфигурация журнала не должна регистрировать информацию и отлаживать.

Вторая проблема, с которой мы сталкиваемся: проблема с производительностью ядра Asp.net при использовании службы WCF. Мы обнаружили, что в текущей версии 2.0.5 производительность по сравнению с Asp.Net FW хуже примерно на 70% и, что более важно, имеет огромный процент ошибок (23%) по всем тестам.

Проблема здесь заключается в исчерпании портов. MS рекомендует увеличить количество эфемерных портов. Увеличение количества эфемерных портов уменьшило количество ошибок, но не решило проблему. Наша тестовая установка: приложения Asp.Net core2.0 и Asp.Net FW с контроллером WEB Api, которые возвращают некоторую строку Тест нагрузки: начните с 5 пользователей, увеличивая их на 5 каждые 30 секунд. Тест выполняется 8 минут

Прочитайте ASP.Net Core 2.1 Дорожная карта. Я думаю, MS знает об этих проблемах, и они исправят основные проблемы в выпуске 2.1. Мы ждем этого.

person PrimeNum    schedule 03.05.2018