13

I find that one of the key benefit of Asp.Net core is multi fold performance improvement (requests per second) compared to traditional Asp.Net. I find many bench mark sites talks about Asp.Net core performance, but I'm not sure if the performance is based on Asp.Net core with .Net core framework or the same performance benefit applies to asp.net core (full .Net framework).

Any idea/articles that explains/compares performance between asp.net core (.Net core) vs asp.net (full framework)?

Thanks

Sevenate
  • 5,657
  • 2
  • 42
  • 68
Venkatesh Muniyandi
  • 3,947
  • 1
  • 27
  • 34
  • 2
    There are no official benchmarks that compare that and TechEmpower only compares ASP.NET Core on Linux with the other OS' and https://github.com/aspnet/benchmarks are quite old and haven't been updated in a while. But you can grab the repository and follow the instructions on how to generate load. You'll need two physical servers though, one for the server application and one for generating the load as doing both on the same machine fudges the benchmark results (wrk tool uses quite some resources too to generate this amount of requests) – Tseng May 13 '17 at 10:15
  • Thanks @Tseng for pointer to "how to bench mark" – Venkatesh Muniyandi May 13 '17 at 10:21
  • 2
    The main benchmark I see touted about asp.net core is the TechEmpower plain text benchmark. In such a scenario it's unlikely that there is a performance difference between asp.net core running against the full framework or .net core framework simply because the code running is likely just asp.net core code (i.e. Kestrel and the asp.net core implementation of owin) – RonC May 13 '17 at 12:43
  • 5
    Unfortunately that's not true. .NET Core is *alot* faster than .NET Framework in some areas which means that ASP.NET Core *is* faster on .NET Core than .NET Framework (in those same scenarios). We generally spend more time testing .NET Core performance and making sure .NET Framework performance is somewhat on par, but it doesn't get the same amount of love because there's less we can do at the framework level. – davidfowl May 18 '17 at 10:22

3 Answers3

11

I recently develop using ASP.NET Core 2.0, and I have the same question regarding performance improvement beside its excellent cross platform support. There are many comparison from google search result, and the briefing idea is:

ASP.NET Core 2.0 is about 6x-23x faster than ASP.NET 4.6

Here are two resources for your reference

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

Jim
  • 291
  • 2
  • 10
1

ASP.Net Core 2.0 is nearly 2x faster than ASP.net 4.6 and also from ASP.Net 4.7 framework.

When comparing full .Net framework vs .Net Core's performance, ASP.Net Core wins but .Net Framework also has some advantage because of some pre-built feature works with asp.net framework.

But in terms of speed, ASP.Net Core(.Net Core) wins the game even from Node.js

rishabh kumawat
  • 163
  • 1
  • 8
-1

We are checking the asp.net core 2.0 performance and found out this:


Asp.Net core application hosted/running under IIS using ASP.NET Core Module performance is worst in about 60% then Full frame work. Second case: same application self-hosted and using IIS as reverse proxy with URL rewrite module increase performance in about 20% better than Full FW. FW 4.6.1.

Another aspect that have major impact on performance is logging. Insure that application under test doesn't write debug/info log to console (by default). Log configuration under test should not log info and debug.

Second problem that we deal with is: Asp.net core performance issue when consuming WCF service. We found out that in current version 2.0.5 the performance vs Asp.Net FW worse in about 70% and what is more important have a huge error rate (23%) of all test.

The problem here is laying in port exhaustion. MS recommend to increase the number of ephemeral ports. Increasing then number of ephemeral port improved the error rate, but not solved the problem. Our test setup: Asp.Net core2.0 and Asp.Net FW apps with WEB Api controller that return some string Load test: start with 5 user increase by 5 every 30 seconds. Test is running for 8 minutes

Read out the ASP.Net Core 2.1 RoadMap. I think MS aware for those issues and they will fix major issues in 2.1 release. We are waiting for it.

PrimeNum
  • 53
  • 6