나는 두 개의 (kinda) hello world 프로젝트에서 빠른 스트레스 테스트를하고 있습니다. node.js 과 asp.net- 코어. 둘 다 프로덕션 모드에서 실행되고 로거가 첨부되지 않았습니다. 결과는 놀랍습니다! ASP.NET 코어는 추가 작업을 한 후에도 node.js 앱보다 성능이 뛰어나며 node.js 앱은 뷰를 렌더링합니다.
앱 1 : http://localhost:3000/nodejs
node.js
사용 : node.js, 표현 및 vash 렌더링 엔진.
이 엔드 포인트의 코드는
router.get('/', function(req, res, next) {
var vm = {
title: 'Express',
time: new Date()
}
res.render('index', vm);
});
보시다시피, time
변수를 통해 현재 날짜를 뷰로 보내는 것 외에는 아무것도하지 않습니다 .
앱 2 : http://localhost:5000/aspnet-core
asp.net core
사용 : ASP.NET Core, 기본 템플릿 타겟팅dnxcore50
그러나이 응용 프로그램은 날짜가있는 페이지를 렌더링하는 것 이외의 작업을 수행합니다. 다양한 임의의 텍스트로 5 개의 단락을 생성합니다. 이것은 이론적으로 nodejs 앱보다 조금 더 무겁게 만들어야합니다.
이 페이지를 렌더링하는 동작 방법은 다음과 같습니다.
[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();
}
스트레스 테스트 결과
Node.js 앱 스트레스 테스트 결과
업데이트 : Gorgi Kosev의 제안에 따라
사용 npm install -g recluster-cli && NODE_ENV=production recluster-cli app.js 8
ASP.NET Core App 스트레스 테스트 결과
내 눈을 믿을 수 없어! 이 기본 테스트에서 asp.net 코어가 nodejs보다 훨씬 빠르다는 것은 사실이 아닙니다. 물론이 두 웹 기술 간의 성능을 측정하는 데 사용되는 유일한 메트릭은 아니지만 node.js 측에서 내가 뭘 잘못하고 있는지 궁금 합니다. .
전문적인 asp.net 개발자이며 개인 프로젝트에 node.js를 적용하고 싶을 때 성능에 약간의 편집증이 있기 때문에 이런 일이 발생합니다. node.js가 asp.net 코어보다 빠르다고 생각했습니다 (일반적으로 다른 벤치 마크에서 볼 수 있듯이). 나는 그것을 직접 증명하고 싶습니다 (노드 .js를 적응시키는 것을 장려하기 위해).
더 많은 코드 스 니펫을 포함 시키려면 의견에 회신하십시오.
업데이트 : .NET Core 앱의 시간 배포
서버 응답
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