Erfahrungen mit Fork, Threads, Preforking, Prethreading, Multplexing
am 01.09.2006 10:48:54 von robert.hennigerHallo Newsgroup.
Im Rahmen meiner Arbeit programmiere ich einen Server der später über
einen fest deinierten Port im lokalen Netzwerk angesprochen werden
soll.
Nachdem darauf mehrer User gleichzeitig zugreifen können ist es nötig
das er mehrere Anfragen gleichzeitig entgegennehmen kann.
Als Plattform für den Server dient WIndows. Allerdings sollte er auch
auf Linux laufen.
Nun da hat man ja meistens keine Probleme. Das Problem ist ja eher das
"beschränkte" Windows.
Um Antworten zu bekommen kaufte ich mir "Netzwerkprogrammierung mit
Perl" von Lincoln Stein. Es ist sehr gut geschrieben.
Es zeigt eine Hand voll Server-Arten auf.
Doch was ist die beste davon?
Was sind eure Erfahrungen.
Im Moment nutze ich die Forking Methode unter Windows und als
Grundbaustein den "HTTP-Daemon".
Dies ist vom Speicherverbrauch zwar sehr zufriedenstellend, jedoch wenn
man eine Seite hat die viele Bilder enthällt. Kann der Aufruf dieser
Seite schon etwas lange dauern bis der Ladevorgang komplett
abgeschlossen ist. Ich vermute es sind die Fileoperationen (File
öffnen / File senden über Socket) die so lange dauern. Aber wie kann
ich das testen?
Wie finde ich das Nadelöhr bei meinem Server der sehr sicher läuft.
Stein schreibt in seinem Buch, das die entwickelten Server um ein
x-faches schneller sind als Apache und Co.
Mein Server soll die Requests entgegennehmen und auf mache Anfragen
einfach nur sachen im Hintergrund ausführen. Ich nenne das
"actionserver".
Stein schreibt ebenfalls das die Preforking Mehthode nicht auf
Windows-Machinen funktioniert. Aber warum? Der Locking-Mechanismus kann
doch auch auf Windows implementiert werden. Ich erhoffe mir vom
Preforking einen Performance-Gewinn.
Hat jemand Erfahrungen gesammelt im Zusammenhang mit dem
plattformunabhängigen "Multiplexing"?
Ich möchte diesen Thread nutzen um einfach ein paar Gedanken und
Erfahrungen mit euch zu sammeln.
Also auch Gedanken/Erfahrungen die vielleicht nicht unbedingt nur mit
diesem Thema zu tun haben aber doch erwähnenswert sind.
PS: Wer interesse an diesem "Grundsystem" des Servers hat sollte mir
einfach schreiben. Ich werde ihn dann zuschicken.
Mit freundlichen Grüßen
Robert Henniger