Willkommen bei WCM
Um alle Funktionen dieser Website nutzen zu können müssen Sie sich Einloggen oder Registrieren. Die Registrierung ist unverbindlich und dauert nur einen Moment.
Software
Veröffentlicht am 08.04.2002 23:00:00
Schließlich und endlich ist er da. Apache Software Foundation hat die Production Release des Apache HTTP Servers bekanntgegeben. Die Version 2.0.35 löst damit die 1.3 als offiziell empfohlene Variante für Produktionseinsatz ab. Apache 2.0 bringt neben neuen Features einen vollkommen neu gestalteten Systemkern. Die bisherige Implementierung eines sogenannten Forking-Servers ist nur mehr eine Option, um Apache zu 'fahren'. Beim Forking-Modell werden für jeden Benutzerzugriff voll eigenständig laufende Instanzen eines Webservers erstellt, die ausschließlich einen einzigen Zugriff abwickeln können, bevor sie zerstört werden. Der Aufwand, diese Programmprozesse nur für einen Zugriff zu erzeugen, hat unter Anderem Erweiterungen im HTTP Protokoll ('keep-alive' für HTTP 1.1) und Erweiterungen im Linux-Systemkern, um schneller 'forken' zu können, bewirkt.
Apache 1.3: Fork
Doch andere Webserver können etwa auch mit Threads oder non-blocking IO arbeiten, beides Mechanismen, um scheinbare Parallelität ohne den Overhead eines ganzen weiteren Programmprozesses pro Benutzerzugriff zu erfordern.
Weiters ist Fork für andere Plattformen als Linux nicht immer einfach; spezielle Betriebssysteme, vor allem nicht-Unices wie BS/2000 oder NT, tun sich mit fork schwer. Das Forken an und für sich ist aufwendig, verbraucht Ressourcen, und Apache wird auf eben diesen Plattformen langsam.
Apache 2.0: MPM
Neben Fork unterstützt das neue Apache MPM Modul auch Threaded, Hybrid Multi-Process und Multi-Threaded als Strategien zur optimalen Parallelisierung.
Das MPM Modul paßt den Multithread-Mechanismus der aktuellen Plattform und Anwendungszweck an. Der Benutzer kann somit seinen Apache bestens an seine Plattform anpassen. Neben speziellen MPMs für Novell Netware und für Microsoft Windows, die 'nur' Multithreaded in einem Prozeß arbeiten, sind für Unix-Rechner mehrere Modelle möglich.
Neben dem reinen Forking-Modell, wie es in 1.3 bekannt war, und dem reinen Thread-Modell für Netware und Windows sind mit 'Hybrid Multi-Process' Mischformen realisierbar. Dabei werden nach wie vor dynamisch Prozesse angelegt, die jedoch aus mehreren Threads bestehen, also mehrere Zugriffe parallel abwickeln können. Unter Unices, bei denen Threads 'leichter' sind als Prozesse, also weniger Verwaltungsarbeit an das Betriebssystem übergeben, kann man so n parallele Zugriffe bei m Threads pro Prozess mit n/m parallelen Prozessen anstelle von n Prozessen (z.B. bei Apache 1.3) abwickeln.
Die Ersparnis an Systemleistung ist groß. Warum aber nicht nur ein Prozeß? Unter Unix wird der Prozeß des Webservers bei schweren Fehlern, etwa Softwaredfekten beendet, und der Webserver ist praktisch off-line. Beim Hybrid MPM Modell hingegen sind die restlichen Prozesse noch 'da', überleben, und können nach wie vor Zugriffe abwickeln.
Weitere Features, Module
In Apache 2.0.35 sind aber neben dem neuen Thread-Modell auch die Stapelbaren Output-Filter integriert, mit denen z.B der Output eines Modules durch ein weiteres 'durchgeleitet' werden kann. Mit I/O-Layering und Filtering sind so auch Ketten von Funktions-Filtern möglich, was z.B. bei XML Verarbeitung interessant werden kann. SSL, Webdav und ein erweiterter HTTP Proxy Support runden das Bild ab, das für Apache-Nutzer nur durch das Fehlen eines passenden mod_perl Supports eingeschränkt wird.
Apache 2.0.35, der erste produktiv- Apache der Generation 2.0 ist unter ftp.apache.org beziehbar; Anwender von Linux-Dikstributionen sollten jedoch abwarten, bis ihr Distributor ein optimiertes Paket für die jeweilige Distribution anbietet.
« Fraunhofer: 3D-Fernsehen · Apache 2.0
· Sharp: Restlos gelöscht »