Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

19.04.2002 - 

Multithreading und besserer Windows-Support

Der Apache 2.0 hat neue Pfeile im Köcher

MÜNCHEN (fn) - Nach drei Jahren hat die Apache Software Foundation eine neue Version der meistgenutzten Web-Server-Software herausgegeben. Gegenüber dem Release 1.3 zeichnet sich der Neuling durch eine bessere Unterstützung für Nicht-Unix-Plattformen und Multithreading-Funktionen aus.

Der Version 2.0 verpassten die Entwickler jetzt neue Multitasking-Funktionen. Erzeugte das 1.3-Release noch für jeden Web-Request einen eigenen Prozess, erlaubt die neue Version einen Mix aus Prozessen und Threads. Auf diese Weise verarbeitet das System mehrere Anfragen gleichzeitig. Beispielsweise kann der Web-Server nun über parallele Threads viel rascher die Texte sowie Grafiken einer HTML-Seite zusammenstellen und anzeigen. In einer Multithreading-fähigen Umgebung laufen nunmehr nur noch "Parent"- und "Child"-Prozesse, wobei das Kind wiederum mehrere Threads initiiert, von denen jeder eigenständig einen Request bearbeitet.

Da die Multitasking-Unterstützung zwischen verschiedenen Betriebssystem- beziehungsweise Rechnersystemen variiert, hält der Apache-Server plattformspezifische Multiprocessing Modules (MPMs) bereit. So bieten die meisten Unix-Derivate zuverlässige Multithreading-Funktionen an, doch Free BSD erwies sich in Tests als problematisch, so Ryan Bloom, einer der führenden Mitentwickler der neuen Web-Server-Software. "Unter manchen Betriebssystemen arbeitet Apache besser mit Prozessen, bei anderen sind Threads geeigneter", begründet Bloom das Konzept der MPMs. Im Gegensatz zu Microsofts "Internet Information Server" läuft der Apache-Web-Server auf unterschiedlichen Betriebssystem-Plattformen, neben einer Vielzahl an Unix-Derivaten auch auf Windows NT 4.0 und 2000, OS/2, OS/390, Netware 5.x sowie auf Be OS.

Generell funktioniert der Web-Server auf jedem System, dass Portable Operating System Interface (Posix) unterstützt. Doch gerade diese Standard-Schnittstelle sorgte bisher für Unmut bei Apache-Anwendern, die das Programm unter Windows betreiben. Als Grund nennt die Open-Source-Vereinigung die schlechtere Posix-Implementierung von Microsoft. Apache 2.0 umgeht das fehlerbehaftete Interface von Windows mit dem neuen Konzept der Apache Portable Runtime (APR). Es handelt sich dabei um Bibliotheken, die Programmen eine einheitliche Schnittstelle für den Zugriff auf Betriebssystem-Funktionen, etwa Datei-Access oder Speicherverwaltung, liefert. Das APR ist an das jeweilige Operating System angepasst. Damit sollen Applikationen auf den entsprechenden Zielplattformen stabiler und auch performanter laufen. Zudem erleichtert APR das Portieren von Web-Anwendungen.

Neben der Weiterentwicklung der Kernfunktionen hat die Apache Software Foundation auch den Bau von Modulen vorangetrieben. Mit "mod_dav" beispielsweise können Autoren per Web Distributed Authoring and Versioning (Web DAV) Seiten editieren.

Anwender, die von Apache 1.3 auf 2.0 umsteigen, sollten sich im Klaren sein, dass sie auf eine Threaded-Softwarearchitektur wechseln. Um die Vorteile der neuen Version zu nutzen, müssen auch selbst entwickelte Module Threads unterstützen. Um sich mit dem neuen Web-Server vertraut zu machen rät Bloom Apache-Usern, ihr System zunächst mit "Prefork MPM" zu betreiben. Dadurch verhält sich Apache 2.0 wie sein Vorgänger und kann somit auch mit für die Version 1.3 geschriebenen Modulen betrieben werden. Später lässt sich die Software dann durch Einbinden anderer MPMs wie etwa "Worker" für den Thread-Mode konfigurieren. Ein weiteres Multiprocessing Modul, "Perchild", erlaubt zudem den Betrieb mehrerer Hosts unter verschiedenen Benutzeridentitäten ("Userids"), jedoch befindet es sich noch in der Entwicklung.

Durch ein neues API lassen sich für Apache 1.3 geschriebene Module nicht ohne Modifikation auf 2.0 betreiben. Einige Standardmodule, wie etwa "mod_ssl" zur Verschlüsslung von Daten mit den Verfahren Secure Sockets Layer (SSL) sowie Transport Layer Security (TLS), wurden von der Apache Software Foundation bereits angepasst. Dies gilt auch für das Perl- und das PHP-Modul.

ProgrammabstürzeZu den Anwendern der Apache-Software zählt der Telekommunikationsfirma Cable & Wireless (C&W) aus München. Das Unternehmen brachte sich in die Apache Software Foundation ein, so stammt beispielsweise das mod_ssl-Modul aus der Entwicklungsabteilung des Carriers. C&W bietet Web-Hosting-Dienste sowohl unter Unix als auch auf Windows an. Während der Apache 1.3 auf Solaris- und Linux-Rechnern läuft gibt das Unternehmen unter dem Microsoft-Betriebssystem dem Internet Information Server den Vorzug, obwohl Apache 2.0 nun Windows besser unterstützt. Kritisch beurteilt Ralf Engelschall, Team Leader Development bei C&W, die Stabilität der neuen Open-Source-Software. Beim Betrieb des Systems unter hoher Last würden noch immer Programmabstürze auftreten. Bisher ist bei C&W kein Umstieg auf Apache 2.0 geplant.

Abb: Rangliste Web-Server

Die US-Firma Netcraft untersucht rund 38 Millionen Websites. Quelle: Netcraft