Saya melakukan tes stres cepat pada dua (agak) halo proyek dunia yang ditulis node.js dan asp.net-core. Keduanya berjalan dalam mode produksi dan tanpa logger yang menyertainya. Hasilnya mencengangkan! Inti ASP.NET mengungguli aplikasi node.js bahkan setelah melakukan beberapa pekerjaan tambahan sedangkan aplikasi node.js hanya menampilkan tampilan.
Aplikasi 1: http://localhost:3000/nodejs
node.js
Menggunakan : node.js, mesin rendering ekspres dan vash.
Kode di titik akhir ini adalah
router.get('/', function(req, res, next) {
var vm = {
title: 'Express',
time: new Date()
}
res.render('index', vm);
});
Seperti yang Anda lihat, itu tidak melakukan apa-apa selain mengirim tanggal saat ini melalui time
variabel ke tampilan.
Aplikasi 2: http://localhost:5000/aspnet-core
asp.net core
Menggunakan : ASP.NET Core, penargetan templat defaultdnxcore50
Namun aplikasi ini melakukan sesuatu selain dari hanya merender halaman dengan tanggal di atasnya. Ini menghasilkan 5 paragraf dari berbagai teks acak. Ini secara teoritis harus membuat ini sedikit lebih berat daripada aplikasi nodejs.
Berikut adalah metode tindakan yang merender halaman ini
[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();
}
Hasil tes stres
Hasil stress test Node.js App
Pembaruan: Mengikuti saran dari Gorgi Kosev
Menggunakan npm install -g recluster-cli && NODE_ENV=production recluster-cli app.js 8
Hasil tes stres ASP.NET Core App
Tidak bisa mempercayai mataku! Tidak mungkin benar bahwa dalam tes dasar ini inti asp.net jauh lebih cepat daripada nodejs. Tentunya ini bukan satu-satunya metrik yang digunakan untuk mengukur kinerja antara dua teknologi web ini, tetapi saya bertanya-tanya apa yang saya lakukan salah di sisi node.js? .
Menjadi pengembang asp.net profesional dan ingin mengadaptasi node.js dalam proyek-proyek pribadi, ini agak membuat saya kecewa - karena saya sedikit paranoid tentang kinerja. Saya pikir node.js lebih cepat dari inti asp.net (secara umum - seperti yang terlihat di berbagai tolok ukur lainnya) Saya hanya ingin membuktikannya kepada diri saya sendiri (untuk mendorong diri saya dalam mengadaptasi node.js).
Harap balas komentar jika Anda ingin saya memasukkan lebih banyak cuplikan kode.
Pembaruan: Distribusi waktu aplikasi .NET Core
Respons server
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