Lighttpd und Threads (multithreading) ???

Apache, Lighttpd, nginx, Cherokee
asterix
Posts: 3
Joined: 2008-10-10 10:49

Lighttpd und Threads (multithreading) ???

Post by asterix » 2008-10-10 11:01

Hallo an alle,
will mir lighttpd installieren und
habe ein paar Fragen zu den Threads ?

Es heißt ja das lighttpd so schnell ist da
er Anstelle von neuen Prozessen für jede
Anfrage, einfach einen neuen Thread öffnet.

Das hat den Vorteil das man weniger Resourcen
braucht und (RAM).

Meine Frage hier ist nun.
Wie kann ich so einen Thread bei lighttpd starten ?
Ich habe doch nur die Möglichkeit über die Congig-Datei
Einfluß auf den Webserver zu nehmen ?

Wie kann ich auch die vorhandenen Threads
kontrollieren und messen ???

Habe diese Frage auch schon im lighttpd Forum
gestellt aber keine Antwort bekommen.

Wenn ihr Infos rund um dieses Thema habt dann
bitte meldet euch doch

Vielen Dank

freddy36
Posts: 273
Joined: 2008-03-20 17:31

Re: Lighttpd und Threads (multithreading) ???

Post by freddy36 » 2008-10-10 13:19

Du suchst vermutlich nach der "server.max-worker" Option, die Funktionsbeschreibung findest du in der Doku.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Lighttpd und Threads (multithreading) ???

Post by daemotron » 2008-10-10 13:55

Asterix wrote:Es heißt ja das lighttpd so schnell ist da
er Anstelle von neuen Prozessen für jede
Anfrage, einfach einen neuen Thread öffnet.

Das hat den Vorteil das man weniger Resourcen
braucht und (RAM).

Das stimmt so weit - das erzeugen eines Threads bringt weniger Overhead mit sich als das erzeugen eines neuen Prozesses.

Asterix wrote:Meine Frage hier ist nun.
Wie kann ich so einen Thread bei lighttpd starten ?
Ich habe doch nur die Möglichkeit über die Congig-Datei
Einfluß auf den Webserver zu nehmen ?

Richtig. Lighttpd entscheidet selbst (und im Rahmen bestimmter Vorgaben aus der Konfigurationsdatei), wann er einen neuen Thread erzeugen muss. Manuell einen Thread zu erzeugen macht überhaupt keinen Sinn. Was wolltest Du denn damit erreichen?

Asterix wrote:Wie kann ich auch die vorhandenen Threads
kontrollieren und messen ???

Code: Select all

ps axms
ps -eLf

Außerdem natürlich mod_status von Lighttpd.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Lighttpd und Threads (multithreading) ???

Post by Roger Wilco » 2008-10-10 19:03

lighttpd ist ein single Process, single Thread Webserver. Also nicht multithreaded. Du kannst aber mehrere Workerprozesse starten: http://trac.lighttpd.net/trac/wiki/serv ... kerDetails

asterix
Posts: 3
Joined: 2008-10-10 10:49

Re: Lighttpd und Threads (multithreading) ???

Post by asterix » 2008-10-11 15:18

Danke für eure Antworten.

Also so wie ich verstanden habe brauche ich mich nicht um
die Threadverwaltung zu kümmern da lighttpd das
selber übernimmt wenn er am besten welchen thread startet.

Ich plane eine Webportal zu programmieren
so dass es vorkommen kann das der Traffic
auf meine WEbsite groß ist.

ALso habe ich mich für lighttpd entschieden.
Zumal ich gelesen habe das er Threads benutzt
anstelle von Prozessen für jede Anfrage.

Wie würded Ihr denn lighttpd konfifurieeren
für größeren traffic ??

Habe außerdem gelesen dass man
fastcgi nehmen sollte und dort den Interpreter
starten soll so das auch dieser bei Bedarf nur geladen wird.

Vielen Dank

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Lighttpd und Threads (multithreading) ???

Post by daemotron » 2008-10-12 03:02

Liest Du denn, was wir Dir schreiben? Roger Wilco hat doch schon darauf hingewiesen, dass Lighttpd gar keine Threads verwendet (hab bisher auch nicht weiter drüber nachgedacht und bin im Stillen von Threads ausgegangen, aber auf der Webseite steht's schwarz auf weiß: http://trac.lighttpd.net/trac/wiki/Docs%3AMultiProcessor).

Du kannst Lighttpd aber veranlassen, mehrere Prozesse zu starten. Das wird jedoch von den Entwicklern als nicht gerade empfehlenswert beschrieben (siehe http://trac.lighttpd.net/trac/wiki/server.max-workerDetails). Lighttpd verfolgt den Ansatz, aus einem Prozess das Maximum herauszuholen. Wenn das allerdings nicht ausreichend sein sollte (und da müsste Dein Portal schon mächtig viele Hits haben), lässt sich Lighttpd nur schlecht skalieren. Das kann wiederum Apache recht gut (mpm_worker), wobei ich zu bezweifeln wage, dass Du tatsächlich in diese Verlegenheit kommen solltest.

Aus den genannten Gründen kennt Lighttpd außer server.maxworker keine weiteren Optionen, die zum Performance-Tuning am Server selbst gedacht sind. Wo sich allerdings etwas machen lässt, sind die Parameter für per FastCGI angebundene externe Programme (wobei die dort wirkenden Parameter in der Praxis nur begrenzt Einfluss auf das tatsächliche Verhalten der FastCGI-Prozesse haben).

A propos FastCGI: das hast Du wohl ebenfalls falsch verstanden. Bei FastCGI wird ein externer Interpreter nicht nur bei Bedarf gestartet (das ist das klassische alte CGI), sondern der Interpreter (meistens ist es jedenfalls einer, andere Anwendungen wären aber ebenfalls denkbar) wird mehrfach auf Vorrat gestartet, so dass in dem Moment, in dem der Interpreter benötigt wird, dieser nicht erst gestartet werden muss, sondern nahezu verzögerungsfrei direkt angesprochen werden kann.

Wenn Du trotz Thread-losigkeit weiterhin auf Lighttpd setzen möchtest, hast Du bei dynamischen Webinhalten gar keine große Wahl - Lighty unterstützt nämlich nur FastCGI (OK, klassisches CGI auch noch, aber für höher frequentierte Seiten ist das absolut indiskutabel).

asterix
Posts: 3
Joined: 2008-10-10 10:49

Re: Lighttpd und Threads (multithreading) ???

Post by asterix » 2008-10-12 18:22

Hallo Danke für dine Antwort nochmal,
sorry hatte das mit den Threads falsch verstanden.

Aber das lighttpd nicht für größere Websites geeignet sein soll
mit hohem traffic kann ich garnicht glauben.
Denn Wikipedia, youtube, Sourceforge setzen ja auch alle
lightpd ein.
Und die müssen ja skalieren.

Welchen Webserver würdest denn du mir empfehlen für
eine Website mit hohem Traffic ?
Von der größe von
http://www.Wer-KEnnt.Wen.de

Vielen Dank

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Lighttpd und Threads (multithreading) ???

Post by Roger Wilco » 2008-10-12 19:11

Asterix wrote:Aber das lighttpd nicht für größere Websites geeignet sein soll
mit hohem traffic kann ich garnicht glauben.

Das hat auch niemand behauptet, noch steht das auf einer der im Laufe der Diskussion verlinkten Seiten.

Asterix wrote:Welchen Webserver würdest denn du mir empfehlen für
eine Website mit hohem Traffic ?

Bei einer Seite der Größe von wkw würde ich vor allem keinen einzelnen Server empfehlen sowie jemanden engagieren, der sich mit verteilten Systemen auskennt...