SORU
15 ŞUBAT 2012, ÇARŞAMBA


Node.js vs .Net performans

Node.js ve yük büyük miktarda karşılamak için hızlı ve güçlü olmak hakkında çok şey okudum. Herkes bu vs diğer çerçeveler gerçek bir dünya kanıt, özellikle var .Net? Okuduğum makaleler en anekdot veya karşılaştırma yok .Net.

Teşekkürler

CEVAP
16 HAZİRAN 2012, CUMARTESİ


OlmakHIZLIve kullanım çokYÜKikisi farklı şeyler. Gerçekten bir serverHIZLIsaniyede bir isteği olursa, saniyede 500 isteği gönderirseniz tamamen croak olabilir hizmet (altındaYÜK).

Ayrıca statik düşünün (ve önbelleğe alınan) vs dinamik sayfalar var. Eğer dert ediyorsun statik sayfaları, daha sonra IIS muhtemelen yenecek düğüm çünkü IIS kullanır çekirdek modu önbelleğe alma anlamına istekleri istekleri için bir statik sayfa bile çıkıp şu çekirdeği.

ASP.NET ve düğüm arasında bir karşılaştırma aradığını tahmin ediyorum. Her şeyi derlenmiş sonra bu savaşta,/yorumlanmış muhtemelen performans olarak çok yakın olacaksınız. Belki .NET birazDaha HIZLIya da belki de düğüm birazDaha HIZLImuhtemelen umurunda değil bu yeterince yakın , ama. Üstüne bahse girerdim .NET, ama emin için bilmiyorum.

Düğüm gerçekten zorlayıcı bir yere taşıma içinYÜK. Bu teknolojileri çok farklı. ASP.NET iş parçacığı havuzundan istek başına bir iş parçacığı ayırıyor, ve ASP.NET kullanılabilir iş parçacığı bitkin sonra istekleri sıraya başlayın. Hizmet ediyorsanız "Merhaba Dünya" gibi uygulamalar örnek olarak @shankar, o zaman bu olmayabilir, çünkü bu konuda çok iş yapmayacak blok ve olacaksın yapabiliyor çok istekleri önce tükendi konuları. ASP.NET bu model ile sorun I/iplik (DB çağrı, bir hizmet için bir http isteği yapmak, diskten bir dosya okuma) blok istekleri yapmaya başla O zaman. Bu engelleme istekleri iş parçacığı havuzu iş parçacığı değerli hiçbir şey yapmamak demek. Daha fazla engelleme, daha azYÜKASP.NET uygulamanız hizmet etmek mümkün olacak.

Bu engelleme önlemek için, bir yanıt beklerken bir iplik tutan gerekmez tamamlama bağlantı noktası G/Ç kullanmak. ASP.NET bu destekler, ama ne yazık ki ortak çerçeveler birçok kütüphane/.NET DEĞİL. Örneğin, ADO.NET destekler O tamamlama bağlantı noktaları, g/, ama Varlık çerçevesini kullanmak değildir. Böylece bir yapı ASP.NET app bu tamamen uyumsuz ve kolları çok yük, ama çoğu insan sevmez, çünkü değildi kadar kolay bina var senkron ve olmayabilir kullanabilir bazı favori parçaları çerçeve (gibi etmeniz için varlıklar).

Sorun bu ASP.NET (ve .Çerçeve NET)/O. zaman uyumsuz g BM-sabit fikirli olmak için yaratılmış .NET eğer zaman uyumlu veya zaman uyumsuz kod yazma umursamıyor, bu kararı geliştirici kalmış. Bu işin zaman uyumsuz işlemler ile iş parçacığı oluşturma ve programlama olduğu düşünülüyordu, çünkü "" ve .sabit NET herkes mutlu (acemi ve uzman) yapmak istedim. Daha da zor, çünkü var .NET uyumsuz yapmak için 3-4 farklı desenleri ile sona erdi. .NET 4.5 geri dönün ve güçlendirme için çalışıyor .NET uyumsuz İO etrafında inatçı bir model çerçevesinde, ama aslında destek bakım hakkında çerçeve kadar bir süre olabilir.

Öte yandan düğüm tasarımcıları, TÜM G/Ç zaman uyumsuz olması gerektiğini inatçı bir seçim yaptı. Çünkü bu karar, düğüm tasarımcıları da yapabilir kararı örneğinde düğüm olurdu tek dişli küçült iş parçacığı geçişi, ve bir iş parçacığı sadece idam kod vardı sıraya. Bu yeni bir istek olabilir, DB isteği geri olabilir, yaptığın http dinlenme isteği geri olabilir. Düğüm iş parçacığı içeriği anahtarları ortadan kaldırarak CPU verimliliği en üst düzeye çıkarmak için çalışır. Düğüm TÜM G/Ç zaman uyumsuz olan bu inatçı seçim yaptı çünkü, o da eklentiler/çerçeveler hepsi bu seçim destek anlamına gelir. Kolay düğüm düğüm uyumsuz uygulamaları yazmak için zorlar () 0 uyumsuz uygulamaları yazmak için.

Yine, öyle ya da kanıtlamak için herhangi bir sabit sayı yok, ama düğüm tipik bir web uygulaması için YÜK yarışmayı kazanacağını düşünüyorum. Oldukça optimize edilmiş (100% uyumsuz) .NET app node.js eşdeğer para, ama eğer tüm ortalama alsan için bir çalışma verebilir .NET ve düğüm orada apps, ortalama düğümde muhtemelen daha fazla YÜK işler.

Bu yardımcı olur umarım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HTC

    HTC

    12 Ocak 2006
  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009