Estou fazendo um teste rápido de estresse em dois (meio) hello world projects escritos em node.js e asp.net-core. Ambos estão sendo executados no modo de produção e sem um criador de logs anexado a eles. O resultado é surpreendente! O núcleo do ASP.NET está superando o aplicativo node.js. mesmo após um trabalho extra, enquanto o aplicativo node.js. está apenas renderizando uma exibição.
App 1: http://localhost:3000/nodejs
node.js
Usando : node.js, mecanismo de renderização express e vash.
O código neste terminal é
router.get('/', function(req, res, next) {
var vm = {
title: 'Express',
time: new Date()
}
res.render('index', vm);
});
Como você pode ver, ele não faz nada além de enviar a data atual através da time
variável para a visualização.
App 2: http://localhost:5000/aspnet-core
asp.net core
Usando : ASP.NET Core, segmentação de modelo padrãodnxcore50
No entanto, este aplicativo faz algo diferente de apenas renderizar uma página com uma data nela. Ele gera 5 parágrafos de vários textos aleatórios. Teoricamente, isso deve tornar isso um pouco mais pesado que o aplicativo nodejs.
Aqui está o método de ação que renderiza esta página
[ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)]
[Route("aspnet-core")]
public IActionResult Index()
{
var sb = new StringBuilder(1024);
GenerateParagraphs(5, sb);
ViewData["Message"] = sb.ToString();
return View();
}
Resultado do teste de estresse
Resultado do teste de estresse do aplicativo Node.js
Atualização: Seguindo sugestão de Gorgi Kosev
Usando npm install -g recluster-cli && NODE_ENV=production recluster-cli app.js 8
Resultado do teste de estresse do aplicativo ASP.NET Core
Não posso acreditar nos meus olhos! Não é verdade que, neste teste básico, o núcleo do asp.net é muito mais rápido que o nodejs. É claro que essa não é a única métrica usada para medir o desempenho entre essas duas tecnologias da web, mas estou me perguntando o que estou fazendo de errado no lado do node.js. .
Sendo um desenvolvedor profissional do asp.net e desejando adaptar o node.js em projetos pessoais, isso me deixa de lado - já que estou um pouco paranóico com relação ao desempenho. Eu pensei que o node.js é mais rápido que o núcleo do asp.net (em geral - como visto em vários outros benchmarks) - só quero provar isso para mim mesmo (para me encorajar a adaptar o node.js.).
Por favor, responda no comentário se você quiser que eu inclua mais trechos de código.
Atualização: distribuição de tempo do aplicativo .NET Core
Resposta do servidor
HTTP/1.1 200 OK
Cache-Control: no-store,no-cache
Date: Fri, 12 May 2017 07:46:56 GMT
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
Server: Kestrel