Zurück   Flashforum > Flash und Server > Server-Seite allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-01-2012, 09:35   #1 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
Hot or not: node.js

Ich habe mich gestern mal ein wenig mit node.js beschäftigt und der Einstieg war auch recht einfach. Wenn man mit Actionscript / Javascript viel gearbeitet hat, ist das Eventsystem recht einfach und auch das eventgetriebene Arbeiten mit Dateien und Datenbanken ist für uns AIR Entwickler ja recht bekannt.

Was ich allerdings nicht so einschätzen kann ist, ob node.js jetzt wirklich so ein krasser Performance Boost ist.

Ich entwickle sehr gerne in PHP, schaue mir gerade Ruby und Rails an (ohne bisher richtig warm zu werden) und wüsste jetzt gar nicht was jetzt soviel besser ist.

Sehe ich das falsch: Wenn in PHP jetzt eine Datenbankabfrage kommt und der Thread warten muss, bis die wieder da ist; kümmert sich dann nicht Apache in der Zwischenzeit darum, dass andere Threads weiterlaufen? Immerhin kann Apache Mulitcore managen, node.js nicht - oder bin ich da falsch?

Hat da jemand ein paar insights / erhellendes?

Persönlich würde ich sagen, für richtig große Applikationen ist das (noch?) nichts, aber für performancekritische Dinge (wie long-polling / Comet, etwa in Chats) eine schöne Ergänzung - ich denke daran PHP und node.js etwa parallel auf einem Server einzusetzen.

Eure Meinung?
__________________
digitale-avantgarde.com
shredding ist offline   Mit Zitat antworten
Alt 13-01-2012, 10:44   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Vorweg: Ich bin kein Backend-Spezialist und beschäftige mich mit dem Thema nur am Rande.
Zitat:
Zitat von shredding Beitrag anzeigen
Sehe ich das falsch: Wenn in PHP jetzt eine Datenbankabfrage kommt und der Thread warten muss, bis die wieder da ist; kümmert sich dann nicht Apache in der Zwischenzeit darum, dass andere Threads weiterlaufen?
Sowie ich das verstanden habe, ermöglicht node.js Asynchronität bei der Verarbeitung eines Requests, während üblicherweise (z.B. in PHP) die einzelnen Requests jeweils synchron aber parrallel zueinander abgearbeitet werden. Letzteres sollte übrigens auch mit node.js möglich sein.

Zitat:
Zitat von shredding Beitrag anzeigen
Was ich allerdings nicht so einschätzen kann ist, ob node.js jetzt wirklich so ein krasser Performance Boost ist.
Die eigentliche Vorteil von node.js dürfte darin liegen, dass es deutlich weniger Zwischenschichten (und damit deutlich weniger OverHead) gibt, als in einer Apache+PHP-Konfiguration. Und das wirkt sich zusammen mit dem Speed der V8-Engine direkt auf die Verarbeitungsgeschwindiglkeit des Scripts aus, wie z.B. dieser Test hier zeigt:
Benchmarking Node.js - basic performance tests against Apache + PHP

Hinzu kommt (aber das ist jetzt meine persönliche Meinung), dass man sich mit einer stringenten JavaScript-Syntax und -API deutlich einfacher und nachhaltiger programmieren kann, als mit diesem Gemischtwarenladen namens PHP (in dem irgendwie alles im globalen Namespace rumgeistert und in einer babylonischen Vielfalt benannt wurde).
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 13-01-2012, 10:59   #3 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Hinzu kommt (aber das ist jetzt meine persönliche Meinung), dass man sich mit einer stringenten JavaScript-Syntax und -API deutlich einfacher und nachhaltiger programmieren kann, als mit diesem Gemischtwarenladen namens PHP (in dem irgendwie alles im globalen Namespace rumgeistert und in einer babylonischen Vielfalt benannt wurde).
Meiner persönlichen Meinung nach ist Javascript eigentlich keine stringente Sprache; ich hab mir node.js trotz und nicht wegen Javascript angeschaut.
__________________
digitale-avantgarde.com

Geändert von shredding (13-01-2012 um 11:01 Uhr)
shredding ist offline   Mit Zitat antworten
Alt 13-01-2012, 11:07   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von shredding Beitrag anzeigen
Meiner persönlichen Meinung nach ist Javascript eigentlich keine stringente Sprache; ich hab mir node.js trotz und nicht wegen Javascript angeschaut.
Mit AS3 oder Java kann JavaScript in dieser Hinsicht sicher nicht mithalten. Aber verglichen mit PHP ist's ein Paradies
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 13-01-2012, 11:51   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 114
Zitat:
Sehe ich das falsch: Wenn in PHP jetzt eine Datenbankabfrage kommt und der Thread warten muss, bis die wieder da ist; kümmert sich dann nicht Apache in der Zwischenzeit darum, dass andere Threads weiterlaufen? Immerhin kann Apache Mulitcore managen, node.js nicht - oder bin ich da falsch?
Der Contextswitch zwischen verschiedenen Threads dauert. Jeder OS-Thread kostet Heapspeicher. Aber node kann auch Threads / Prozesse. Da gibt's dann die üblichen threadpool-Ansätze. Der Punkt ist, dass man von dem 1-thread-pro-connection-Modell wegkommt.

Zitat:
Persönlich würde ich sagen, für richtig große Applikationen ist das (noch?) nichts
roxen benutzt seit Ewigkeiten pike für den Webserver (der in den 90ern bekannter war) und ihr CMS. Das Programmiermodell ist identisch, die Sprache halt nicht Javascript sondern eine objektorientierte C-Evolution. Wenn Dir JS nicht stringent genug ist guck es Dir mal an. Ist nicht so einsteigerfreundlich und hip, aber das eventige Programmiermodell ist seit Ewigkeiten (lpmud ~1989, pike ~1994) das gleiche, was node als ihre große Innovation ausgibt:
Zitat:
Zitat von http://nodejs.org/about/
Node is similar in design to and influenced by systems like Ruby's Event Machine or Python's Twisted. Node takes the event model a bit further—it presents the event loop as a language construct instead of as a library
Zitat:
aber für performancekritische Dinge (wie long-polling / Comet, etwa in Chats) eine schöne Ergänzung
Chats sind mit solchen Servern nicht mehr performancekritisch wenn Du ohne Probleme ein paar hunderttausend User an einen einzelnen Server hängen kannst ;-)
fippo ist offline   Mit Zitat antworten
Alt 13-01-2012, 13:39   #6 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
In ASP.NET geht das auch schon länger, wie ich unlängst las.

Zitat:
Zitat von fippo Beitrag anzeigen
Chats sind mit solchen Servern nicht mehr performancekritisch wenn Du ohne Probleme ein paar hunderttausend User an einen einzelnen Server hängen kannst ;-)
Ja, klar Facebook. Aber ich hab bspw. mal viel mit LMS (Moodle) gearbeitet, da gabs sowas nicht. Auf Firmenebene so ein Chat ala Facebook wäre da cool gewesen; da sähe ich ein Anwendungsgebiet.
__________________
digitale-avantgarde.com
shredding ist offline   Mit Zitat antworten
Alt 13-01-2012, 14:10   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Hot.
Omega Psi ist offline   Mit Zitat antworten
Alt 17-01-2012, 19:07   #8 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.663
verdammt hot… mach grad mit node und socket.io rum, das ist bis jetzt sehr vielverprechend.
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 27-02-2012, 20:36   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 114
Talking

Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Die eigentliche Vorteil von node.js dürfte darin liegen, dass es deutlich weniger Zwischenschichten (und damit deutlich weniger OverHead) gibt, als in einer Apache+PHP-Konfiguration. Und das wirkt sich zusammen mit dem Speed der V8-Engine direkt auf die Verarbeitungsgeschwindiglkeit des Scripts aus, wie z.B. dieser Test hier zeigt:
Benchmarking Node.js - basic performance tests against Apache + PHP
Benchmarks die ich nicht selbst gefälscht habe lassen mir keine Ruhe. Also hab ich mal nodejs gegen meinen Lieblingsfisch laufen lassen. Stupid, silly benchmark mit dem Beispiel-hello-world-HTTPServer von nodejs.org und dem Standard Pike httpd.

node war marginal schneller als pike -- 10655.06 req/sec mean vs 10211.07 req/sec mean. In der Defaultversion schreibt der Pike-httpd aber auch Header wie Server: raus. Wenn man das ein wenig fairer macht kommt bei pike ein Wert von ~17000 Requests pro Sekunde raus. Das ganze bei groben 10% der Speichernutzung von node.

Innovativ hatte ich ja schon abgehakt, den Mythos mit dem Speed jetzt auch ;-)
fippo ist offline   Mit Zitat antworten
Alt 20-04-2012, 14:28   #10 (permalink)
Neuer User
 
Registriert seit: Apr 2012
Beiträge: 1
Definitiv hot nach meinen noch recht spärlichen Erfahrungen.
TheGreenFlash ist offline   Mit Zitat antworten
Alt 20-04-2012, 14:45   #11 (permalink)
Jörg Wasmeier
 
Registriert seit: Nov 2008
Beiträge: 84
Ultra Hot wenn ihr es in Verbindung mit haXe nutzt
creative code() ist offline   Mit Zitat antworten
Alt 07-05-2012, 20:53   #12 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Ne, mit CoffeeScript.
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Existenz von XML-Node padavan ActionScript 3 2 12-11-2009 16:17
XML Node count gigo ActionScript 3 4 10-12-2007 19:29
xml node type killkolor ActionScript 1 4 28-06-2007 21:08
xml-node ersetzen Mr.Twister ActionScript 1 3 31-01-2006 11:19
node ansprechen kuma ActionScript 1 2 20-07-2004 13:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele