ASP.NET Core, performanţe spectaculoase

Mă uit la un articol despre un test făcut prin februarie, înainte ca ASP.NET 1.0 să apară. Se pare că noul ASP-NET are ce oferi în materie de performanţe. http://web.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/

Sigur, nu e cool şi hip ca rails, node.js sau python dar e mult mai rapid măcar. Iar acum, că poate fi folosit pe Linux, mă aştept ca adopţia să crească rapid.

Arata bine, sa auzim si povesti de succes din live.

Eu am testat Mono pe linux acum multi ani. Nu pare sa fi avansat adoptia .net, stie cineva exemle de rulare in productie?

Mono e o porcărie pentru folosit cu ASP.NET.

Nu este încă folosit în producţie, pentru că e foarte nou, varianta iniţială şi oficială de la Microsoft, ASP.NET Core 1.0 a fost lansată acum o lună.

Într-o lună abia poţi învăţa cât decât frameworkul MVC, nu prea ai timp să dezvolţi site-uri mari gen twitter, ebay sau facebook.

Eu personal sunt încântat, una pentru că îmi place ecosistemul ASP.NET , doi pentru că îmi place C# şi trei pentru că poţi folosi platforma pe linux. Singurul lucru care m-a oprit să folosesc ASP.NET în ultimii câţiva ani a fost faptul că era disponibil doar pentru Windows.

Din ce am văzut pe hacker news, reddit, twitter, sunt o grămadă excitaţi de lansarea ASP.NET pe linux şi au de gând să-l folosească.

Entity Framework este destul de stabil în versiunea -pre. Se pare că şi SignalIR şi Web Pages vor fi lansate anul asta în varianta Core, deci lucrurile sună bine.

Desigur, unele componente din Net 4.6 lipsesc, încă nu au fost adăugate, altele nu vor fi adăugate niciodată, dar îmi place că este o platformă mică, rapidă, modulară, elegantă şi fâşneaţă. Nu cred că vor fi situaţii practice de orice natură de nerezolvat cu ASP.NET Core, deci e o investiţie bună.

Probabil că e timpul cel mai bun să fii un dezvoltator .NET iar eu personal mă pun cu burta pe carte (adică pe tastatură, mouse şi monitor) să mă pun la punct cu noutăţile.

Iar dacă C# nu te atrage, poţi alege unul din alte limbaje suportate de platforma .NET, de exemplu F#.

Iar MVC nu este singurul framework disponibil acum pentru ASP.NET Core, NancyFX e o altă variantă. De prin toamnă vor sosi şi SignalIR şi Web Pages. Pentru pagini responsive, siteuri cu o singură pagină, etc, Se mai poate folosi şi Web Api, care a fost integrat deja în MVC

Se poate folosi şi linux sau mac pentru dezvoltare, există şi un IDE, Visual Studio Code pentru Linux, Mac şi Windows…

2 Likes

Pentru dezvoltare pe linux se poate folosi IDE Rider de la JetBrains, daca o sa aiba tot ce are ReSharper o sa fie perfect pentru dezvoltare .net pe linux.

Merci pentru pont, m-am înscris la testare şi am primit linkurile de download. Bună ideea ăstora de la JetBrains. :slight_smile:

Dacă are şi Nuget integrat şi Git, ar fi chiar frumos. Şi mai frumos ar fi să fie gratuit dacă ai licenţă pentru Resharper.

edit:

M-am jucat puţin cu el, se conectează şi la servere şi Git, TFS, are consolă pentru Nuget. Sunt destul de mulţumit de ce văd până acum. Singura nemulţumire ar fi că se mişcă cam ca porcul, dar asta se întâmplă la cam toate ide-urile lor.

That benchmark number drops to 40 000 requests per second when benchmarking retrieving a record from a database. This is still very good, but is around 4% of the previous benchmark and you look elsewhere to improve it. The stark difference between the two is instructive: if you want to improve this second number, then the difference isn’t in the ASP framework, but in the database round trip and associated code.

via About optimization and metrics · GitHub

Deci nu este hip ca restul dar vrem sa-l facem hip prin hype? si use-cases care nu au tangenta cu web-ul?

Odata ce o sa adaugi Entity Framework ca dep. it’s going to eat a ton of CPU cycles.

De altfel pentru use-case-ul prezentat in articolul acela (frekin’ plain text micro-benchmark) Netty kills it and Scala bests it:

  • ASP.NET Core on Kestrel - 1,174,881 Req/sec
  • Netty - 2,808,515 Req/sec

via GitHub - aspnet/Benchmarks: Benchmarks for ASP.NET Core


In final - interesting stuff, it was quite fun to read about it.

Insa next time: less hype (in special daca incerci sa eviti the cool, hipster stuff) more real use cases?

1 Like

E serverul neoptimizat. Kestrel e foarte nou, Netty câţi ani are, 50? Eu ziceam de chestii Hip ca Rails şi Node, Scala şi Java nu sunt hip.

:facepalm:

Yes, clearly! I’m also going to use .net because in a plain text micro benchmark it kicks ass. :sunny: Yay for logic!

De altfel Python si Rails nu mai sunt hip de ceva timp si nu vad vreun full featured bench. cu ele :wink:

again :facepalm:

Dapper am vazut ca e o solutie destul de folosita si merge cu .NET Core.

Performance of SELECT mapping over 500 iterations - POCO serialization

Method Duration
Hand coded (using a SqlDataReader) 47ms
Dapper ExecuteMapperQuery 49ms
ServiceStack.OrmLite (QueryById) 50ms
PetaPoco 52ms
BLToolkit 80ms
SubSonic CodingHorror 107ms
NHibernate SQL 104ms
Linq 2 SQL ExecuteQuery 181ms
Entity framework ExecuteStoreQuery 631ms

1 Like

Prin Septembrie 2017 scrie in roadmap ca o sa fie lansat ASP.NET Core 2.0 stable, framework are chestii destul de ingineresti in el dependacy injection integrat, tag helpers pentru UI, server de web intr-un DLL putand sa ruleze si standalone fara sa fie nevoie sa fie pus pe un server, e o tehnologie pentru aplicatii de cloud pentru care Microsoft are in plan ca sa fie their main technology pe urmatori 10 ani.

3 Likes

E mai elegant ca java, sintaxă aproape identică cu TypeScript, performanțe decente.

Microsoft îl promovează destul de mult… Nu mai e musai visual studio, singura problemă e cu librăriile pe .net core.

1 Like

https://blogs.msdn.microsoft.com/webdev/2017/06/28/introducing-asp-net-core-2-0-preview-2/

Daca librariile sunt pentru .net si open source pot fi recompilate cu putin efort pentru .net core, comunitatea lucreaza la asta, plus furnizori de controale gen Telerik au deja librarii portate pentru .net core.

1 Like

Un nou release de rider zilele astea, ce am observat nou este ca pe splash screen scrie beta, cum zic si ei in descrierea de la release performance fixes.

1 Like

Microsoft .NET Core 2 LAUNCH hosted by DEV intersection, 18-19 September 2017, Stockholm, Sweden

1 Like

Au bagat in Visual Studio 2017 Preview 2 lansat zilele trecute template-uri de proiecte pentru React, Redux cat si suport pentru acestea, l-am instalat aseara.

1 Like