Performance do ASP.NET Core, um comparativo com Node.js
-
Upload
waldyr-felix -
Category
Technology
-
view
4.148 -
download
3
Transcript of Performance do ASP.NET Core, um comparativo com Node.js
![Page 1: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/1.jpg)
PERFORMANCE DO ASP.NET CORE(UM COMPARATIVO COM NODE.JS)
![Page 2: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/2.jpg)
WALDYR FELIX Arquiteto Líder no Time de Operações Críticas & Consultoria da FCamara
Microsoft MVP desde 2012
Fundador do Grupo ASP.NET Brasil
Blog: waldyrfelix.com.br Twitter/LinkedIn/Snap: waldyrfelix
![Page 3: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/3.jpg)
![Page 4: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/4.jpg)
![Page 5: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/5.jpg)
.NET CORE
![Page 6: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/6.jpg)
![Page 7: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/7.jpg)
PERFORMANCE
![Page 8: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/8.jpg)
http://web.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps
![Page 9: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/9.jpg)
BENCHMARK ASP.NET COREgithub.com/aspnet/benchmarks
![Page 10: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/10.jpg)
FERRAMENTAS
![Page 11: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/11.jpg)
ESCOLHA DE HARDWARE
Server: VM Linux A4 – 8 Cores e 14 GB
Client: VM Linux A2 – 2 Cores e 3.5 GB
![Page 12: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/12.jpg)
SERVIDOR WEB
.NET Core 1.0.0-rc2-3002702
ASP.NET Core 1.0.0-rc2-final
Kestrel 1.0.0-rc2-final
Node.js v6.2.1
Express 4.13.4
HTTP Server Nativo
![Page 13: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/13.jpg)
RESPONSE DO BENCHMARKIdênticos para ASP.NET Core e Node.js
Retorna uma lista no formato JSONapi/benchmark/list
Retorna uma lista no formato JSON a partir de um arquivo de texto em discoapi/benchmark/file
![Page 14: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/14.jpg)
APLICAÇÃO ASP.NET CORE
NODE.JS
![Page 15: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/15.jpg)
APLICAÇÃO ASP.NET CORE
ASP.NET CORE
![Page 16: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/16.jpg)
FERRAMENTA DE LOAD TEST
https://github.com/wg/wrk
wrk -t 8 -c 32 -d 10s http://host/api/benchmark/list
![Page 17: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/17.jpg)
COLETA DE RESULTADOS
![Page 18: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/18.jpg)
EXECUÇÃO DOS TESTESExecução realizada por um script bashUsando a ferramenta wrkNúmero de conexões simultâneas16, 32, 64, 128, 256, 512, 1024, 2048
Tempo de cada carga 10 segundos
![Page 19: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/19.jpg)
RESULTADOS
![Page 20: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/20.jpg)
RESULTADOS NODE.JS
![Page 21: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/21.jpg)
RESULTADOS ASP.NET CORE
320% mais rápido
580% mais rápido
![Page 22: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/22.jpg)
RESULTADO COMPARATIVO
Node.js ASP.NET Core
1876.15
6017.49
Json List (Sem I/O)
Node.js ASP.NET Core
673.52
3953.14
Json List (Com I/O)
![Page 23: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/23.jpg)
RESULTADO COMPARATIVO
16 32 64 128 256 512 1024 20480
1000
2000
3000
4000
5000
6000
7000
Requisições / Segundo (Sem I/O)
Node.js ASP.NET Core
![Page 24: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/24.jpg)
RESULTADO COMPARATIVO
16 32 64 128 256 512 1024 20480
500
1000
1500
2000
2500
3000
3500
4000
4500
Requisições / Segundo (Com I/O)
Node.js ASP.NET Core
![Page 25: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/25.jpg)
KESTREL
![Page 26: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/26.jpg)
PERFORMANCE DO LIBUVÉ uma biblioteca para I/O assíncronoTrabalha com single threaded event-loopFicou conhecida depois do Node.jsUso eficiente de sockets assíncronosTem versões para Windows, OS X e LinuxOtimização de uso de CPU e memóriaMelhora da performance em operações de I/O
![Page 27: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/27.jpg)
PERFORMANCE DO KESTRELO Kestrel usa o Libuv assim como Node.jsMas apenas para operações de I/ODisco, serialização, rede, etc.Para operações não I/O usa o código gerenciado .NET normalmenteSuporta múltiplos event-loopOtimiza o número de chamadas ao sistema (sys calls)
![Page 28: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/28.jpg)
REFERÊNCIAS DA APRESENTAÇÃO
https://github.com/waldyrfelix/benchmark_aspnet_brasil_confhttps://nodejs.org/en/docshttps://github.com/wg/wrkhttps://github.com/aspnet/benchmarkshttp://dotnet.github.iohttp://libuv.orghttps://github.com/dotnet/coreclrhttp://web.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbpshttp://blog.dotnetnerd.dk/post/2015/11/08/Kestrel-the-new-web-server-for-ASPNET-5.aspx
![Page 29: Performance do ASP.NET Core, um comparativo com Node.js](https://reader035.fdocument.pub/reader035/viewer/2022062400/5874f6e81a28ab917a8b81a1/html5/thumbnails/29.jpg)
OBRIGADO