2010-07-28 26 views
20

Node.js, Apache'den daha hızlı ve daha ölçeklenebilir mi? Node.js'in Apache üzerinde bir web uygulaması için performansını destekleyen herhangi bir performans rakamı var mı?Node.js, Apache ile karşılaştırıldığında nasıl performans gösterir?

GÜNCELLEME: Tamam, belki de benim sorum (kafa) kafa karıştırıcı çünkü Node.js bir web yığını içinde nasıl oturduğuna dair biraz kafam karıştı. Hangi koşullar altında Node.js'yi PHP, MySQL ve Apache gibi daha geleneksel bir yığın yerine kullanmayı düşünmeliyim - veya Node.js oynamayı bu yığının içinde mi oynuyor?

+5

* Ne * için daha hızlı? Ne tür bir web uygulaması sunacaksınız? –

+0

Bu soru, belirli bir test vakasının bağlamı dışında cevap vermek için aslında imkansızdır. –

+2

Bu makale sorularınızı yanıtlamak için yardımcı olabilir: http://al3x.net/2010/07/27/node.html –

cevap

17

Node.js, eşzamanlılığı düşük seviyede nasıl uygulayacağını anlamak zorunda kalmadan yüksek performanslı web uygulamaları yazmak için özellikle çok uygun bir çerçevedir. Engellemeden gelen IO'yu kullanarak sunucu tarafı JavaScript uygulamalarını yazmak için bir çerçeve oluşturur: sonuçları beklemekten ziyade IO çağrılarına geçirme. Node.js, API çağrılarının tamamının, çalışma zamanının, daha sonra ilk arayana bloklamak ve sonucu döndürmek yerine, sonuçla daha sonra yürüteceği bir süreklilik içerdiği bir sistem API'si (dosya sistemi erişimi, ağ erişimi, vb.) Sağlar.

İsterseniz kendi başınıza kullanabilirsiniz. Ancak, Apache, Nginx, LigHTTPD vb. Gibi bir şey için özel bir ters proxy isteyebilirsiniz: Veya daha büyük bir uygulamayı kümelemek için, birden çok çalışan Node.js uygulama sunucusunun önünde HAProxy gibi bir şey isteyebilirsiniz.

+0

@agnoster Yorumunuz için teşekkürler - Cevabımı değiştirdim. – yfeldblum

+0

Geri bildiriminiz için teşekkür ederiz! Vereceğimiz tek yorum, teknik nedenlerden dolayı, Node.js'nin önünde bir ters proxy çalıştırmak istiyorsanız ve socket.io çalıştırıyorsanız, websocket iletişimi için bunların çoğunu atlamak isteyeceksiniz. . – agnoster

+1

Bir ters proxy'nin yararı nedir? Node'un sunucu işlevselliği daha fazla ışık testi ve daha az güvenli/performans amaçlı mıdır, yoksa diğer şeylerin sadece insanların temel düğüm sunucusunun istemediği özelliklere sahip olması mıdır? –

7

Son birkaç (28 Temmuz, 30 yayın) Google Tech Talk about Node.js var, burada birkaç performans numarası var ve ölçekleme hakkında da konuşabiliyor.