Ergebnis 1 bis 5 von 5

Thema: Lighttpd und Threads ???

  1. #1

    Standard Lighttpd und Threads ???

    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

  2. #2
    Staff Sergeant Avatar von Tom_Ate
    Registriert seit
    04.01.2005
    Beiträge
    126

    Standard

    Lighttpd ist so schnell, weil er weder Threads noch Prozesse/Forks nutzt, sondern Event basierend ist und mehrere Verbindungen ohne "aufwendiges" Hin- und Herwechseln zwischen den Prozessen/Threads in einem Prozess abhandelt. Ein Prozess für alle und alles, bzw. hier hätte man noch die Chance durch die Einstellung "server.max-worker" mehrere Prozesse zu starten, um besser auf SMP-Systemen zu skalieren. Der Erfolg bleibt allerdings fraglich.
    Aber eben aufgrund des Models vom lighty ist er zwar sehr performant, aber eben keine Multi-Prozess- oder Multi-Thread-Applikation. Hier unterscheidet er sich ja auch sehr deutlich vom Apache, der ja andere Herangehensweisen zeigt, vor allem aber ein Multi-Prozess-Modul bietet. Nicht umsonst sind eben Prefork und Worker die häufigsten MPM-Konfigurationen für Apache, d.h. mehrere Forks bzw. mehrere Forks plus Threads. Auch wenn es mittlerweile ein Event-Modul gibt, was wohl dem Lighty am nächsten kommt.

    Also um auf die ursprüngliche Frage zurückzukommen: Da es keine Threads gibt, kannst du keine Threads messen und auch nicht konfigurieren. Wobei in Version 1.5 wohl Threads möglich sein sollen laut Kneschke. Ich habe auch keinen Grund das anzuzweifeln

    "Und Schlag auf Schlag!
    Werd ich zum Augenblicke sagen:
    Verweile doch! du bist so schön!
    Dann magst du mich in Fesseln schlagen,
    Dann will ich gern zugrunde gehn!"
    Faust zu Mephistopheles in "Faust. Der Tragödie erster Teil" von Johann Wolfgang Goethe

  3. #3
    Master Gunnery Sergeant Avatar von Max
    Registriert seit
    22.02.2005
    Ort
    Braunschweig
    Beiträge
    1.638

    Standard

    Herzlichen Gruß an Tom_Ate

    Threads kontrollieren?
    Das wird nichts...Hör auf das was Tom_Ate geschrieben hat...da steckt unendlich viel Wahrheit drinn.
    Wenn du mit einzelnen Threads arbeiten willst solltest du dich da erstmal schlaulesen.....und auch dann geht es meistens nach hinten los.
    "Wir müssen die Religion des anderen respektieren, aber nur in dem Sinn und dem Umfang, wie wir auch seine Theorie respektieren, wonach seine Frau hübsch und seine Kinder klug sind"

    Zitat Zitat von Ralph1963 Beitrag anzeigen
    rubbel- und quietschtests an der Chroma
    Zitat Zitat von Ralf1963 Beitrag anzeigen
    irgendwelche Nippel- und Schweiss Messungen

  4. #4
    Private
    Themenstarter

    Registriert seit
    10.10.2008
    Beiträge
    2

    Frage

    Hallo herzlichen dank für eure ehrliche
    Meinung Tom_Ate und Max.

    Das habe ich dann falsch verstanden mit den Threads
    und Prozessen bei lighy.

    Aber was mich wundert ist das so viele große Websites Lighttpd
    einsetzen wenn er doch so schlecht skalierbar sein soll ?

    Webseiten wie Wikipedia, Sourceforge, youTube.

    Ich plane eine Community Seite aufzubauen
    und habe noch keine Erfahrung mit Webservern außer
    mit Apache ein wenig.

    Welchen Webserver könnt Ihr mir denn empfehlen ?
    Man fängt ja erst mal klein an aber dann
    wächst ja der traffic je mehr user kommen.
    Also muß der Webserver auch sklaierbar sein.
    Thema Verteilte Systeme.

    Ich dahcte lighttpd sei hier erste Wahl ?

    Bin gespannt auf eure Meinungen.

    schöne Grüße

  5. #5
    Staff Sergeant Avatar von Tom_Ate
    Registriert seit
    04.01.2005
    Beiträge
    126

    Standard

    Sei gegrüßt Max und du natürlich auch Asterix,

    das schöne an Lighty ist, dass er eigentlich nie am oberen Ende arbeitet. Dadurch, dass beiden Webservern möglicheben keine Switches da sind, keine zusätzliche Adressierung anfällt, keine Forks oder Prozesse auf Aktion warten, ist Lighty eben sehr schlank. So schlank, dass die Fahnenstange an CPU-Last nie erreicht wird. Natürlich skaliert Lighty nicht so gut mit mehreren Prozessoren, aber wie gut muss ein Programm mit mehreren Prozessoren skalieren, wenn die Auslastung des ersten Prozessors eh nur bei max. 15% liegt?
    Durch Vermeidung sämtlicher Abstimmung verschiedener Prozesses/Forks und durch die Auslagerung aufwendiger Prozesse (FastCGI bzw. CGI), ist der Lighty-Prozess so performant, dass es nicht an der (Prozessor-)Hardware scheitern sollte.
    Irgendwann dürfte Lighty zwar auch am Ende sein, aber da müssten schon gewisse Rahmenbedingungen erfüllt sein, z.B. relativ langsamer Prozessor, dafür aber mit sehr vielen Kernen, unglaubliche Netzwerkleistung, also NIC-Bonding/NIC-Teaming, und natürlich ein entsprechend performantes RAID. Dann könnte Lighty langsamer sein als ein entsprechender Apache.
    Ich meinte mit meiner Aussage nur, dass der Erfolg, besser mit 2 Prozessoren zu skalieren, nicht gegeben sein muss, weil die Notwendigkeit nicht unbedingt besteht und sich Lighty in Extremsituationen nicht so optimal verhalten dürfte wie sein großer Gegenspieler.

    Bzgl. der Frage zur eigenen Anwendung würde ich zum Apache raten. Zwar ist Lighty schön schmal und dadurch sehr fix, aber er ist auch in seiner Erweiterbarkeit/Funktion in meinen Augen auch etwas dünner besiedelt als Apache und dadurch nicht so komfortabel. Das bekannte htaccess-Prinzip fehlt, Konfigurationen wirken in meinen Augen teils ziemlich unverständlich/inkonsequent, bieten aber auch Vorteile: Neuer Ordner entspricht automatisch neuer Subdomain. Aber im Großen und Ganzen ist mir Lighttpd doch etwas zu speziell und in manchen Bereichen auch zu aufwendig/kompliziert. Darum würde ich den Apache vorziehen, da es hierzu auch allerlei Dokumentationen, Anleitungen, Howtos, Diskussionsthreads gibt, bei denen man bei Problemen fündig wird. Manche beißen sich z.B. an Problemen von Lighty mit FastCGI und Zend Optimizer (für verschlüsselt Dateien) die Zähne aus, dagegen gibt's für den Apache zich Tutorials für Zend+Apache.
    Man sollte auch nie ganz außer Acht lassen, wofür das Vorzeigebeispiel Youtube den Lighty verwendet: Dort sind es die Videos, die schnell ausgeliefert werden sollen. Möglichst viele Dateien pro Server bei möglichst niedriger Last, bzw. je niedriger die Last desto mehr Verbindungen sind möglich. Hier besticht Lighty eben wieder durch seine schmale Struktur, so dass Downloads, Bilder, Videos schnell ohne zusätzliche Prozesse bereitgestellt werden können, weil ein Prozess die ganze Arbeit verrichtet. Dagegen hat man bei PHP auch schnell das Problem, dass unzählige PHP-Prozesse laufen, weil Lighty diese ja extern bearbeiten lässt.

    Ach ja, Loadbalancing ist meines Wissens sowohl mit Apache als auch mit Lighttpd möglich (gibt aber wohl noch mehrere andere Möglichkeiten). Diesbezüglich ist NEngine.org auch noch interessant. Hier gilt natürlich wieder zu beachten, dass Lighttpd 1.5 noch nicht fertig ist bzw. Änderungen in der Konfiguration zu 1.4.x aufweist.

    Als Fazit bleibt eigentlich nur noch zu sagen, dass beide Webserver ihre Anwendungsgebiet haben, ich aber im Zweifel immer erst auf Apache zurückgreifen würde und nur bei speziellen Anwendungsgebieten Lighttpd vorziehen würde - nämlich dort, wo seine schmale Struktur von Nöten ist, um viele Verbindungen aufrecht zu halten oder viele Dateien schnell auszuliefern unter Beachtung, dass auch ein Apache nicht gleich bei 100 Verbindungen das System oder sich selbst zusammenbrechen lässt.
    "Und Schlag auf Schlag!
    Werd ich zum Augenblicke sagen:
    Verweile doch! du bist so schön!
    Dann magst du mich in Fesseln schlagen,
    Dann will ich gern zugrunde gehn!"
    Faust zu Mephistopheles in "Faust. Der Tragödie erster Teil" von Johann Wolfgang Goethe

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Lighttpd vs. Apache
    Von commx im Forum Serveradministration
    Antworten: 8
    Letzter Beitrag: 09.03.2007, 13:01
  2. Zu viele angepinnte Threads bei "Reklamationen"
    Von Shane im Forum Anregungen und Verbesserungsvorschläge
    Antworten: 2
    Letzter Beitrag: 10.12.2006, 13:50
  3. Threads im Off-Topic verschwunden
    Von Pullface im Forum Anregungen und Verbesserungsvorschläge
    Antworten: 4
    Letzter Beitrag: 06.06.2006, 22:56
  4. Antworten: 1
    Letzter Beitrag: 22.08.2005, 12:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •