// HEISE ONLINE — INTELLIGENZA ARTIFICIALE
Stalwart: Der schnellste Mailserver der Welt?
Der Mailserver Stalwart erreicht Version 1.0: mit schnelleren Parsern, einer erweiterten Volltextsuche und Änderungen an Datenbank und OAuth.
This article is also available in
English.
It was translated with technical assistance and editorially reviewed before publication.
Stalwart hat mit Version 1.0 sein erstes stabiles Release veröffentlicht: Das Update des E-Mail- und Kollaborationsservers umfasst umfangreiche Leistungsoptimierungen und eine Volltextsuche in Dokumenten. Bestehende Installationen müssen ihre Daten migrieren.
Der in Rust geschriebene Stalwart-Server bündelt E-Mail, Kalender, Kontakte und Dateispeicherung. Er unterstützt unter anderem SMTP, IMAP, JMAP sowie CalDAV, CardDAV und WebDAV und lässt sich über eine Weboberfläche verwalten. Damit richtet er sich an Selbsthoster ebenso wie an Unternehmen und Hosting-Anbieter. Die Community-Ausgabe steht unter der AGPL-3.0; zusätzliche Funktionen bietet eine kommerzielle Enterprise-Ausgabe.
Laut den Release Notes zu Stalwart 1.0 lässt sich die neue Version nicht durch bloßes Austauschen der Programmdatei über eine bestehende 0.16.x-Installation installieren. Der Grund: Das Datenbanklayout und Teile des Konfigurationsschemas haben sich geändert. Für den Umstieg stellt das Projekt das Kommandozeilenwerkzeug stalwart-migrate bereit. Es setzt Version 0.16.27 voraus, überträgt die Einstellungen und kopiert die Daten in einen neuen, leeren Speicher. Die alte Installation bleibt dabei unverändert.
Die erste Kopie kann im laufenden Betrieb entstehen; weitere Durchläufe übernehmen nur Änderungen. Erst für den abschließenden Abgleich muss der alte Server stoppen. Konten- und Nachrichtenkennungen, IMAP-UIDs und Änderungshistorien bleiben erhalten, sodass Clients ihre bereits lokal gespeicherten Nachrichten nicht erneut herunterladen müssen. OAuth-Nutzer müssen sich neu anmelden, den Volltextindex baut Stalwart im Hintergrund wieder auf. Für ältere Versionen und einen schrittweisen Umzug einzelner Konten gibt es einen zweiten Weg mit einem Migrationsproxy und dem Werkzeug Vandelay. Mit dem nun stabilisierten Schema sollen künftige Updates nach Angaben der Entwickler ohne einen solchen Datenumzug auskommen.
In der offiziellen Ankündigung der neuen Version stellen die Entwickler die Leistungsoptimierungen in den Mittelpunkt. Die neu geschriebene Bibliothek mail-parser und die neue Kodierungsbibliothek encodify verarbeiten Daten mit SIMD- und SWAR-Techniken. Beide prüfen mehrere Bytes gleichzeitig; SWAR nutzt dafür gewöhnliche Prozessorregister statt spezieller Vektorbefehle. Auch die Protokollparser, die Spamfilter-Tokenisierung und die Auswertung von Filter- und Routingausdrücken wurden überarbeitet.
Auf der Speicherseite reduziert Stalwart Datenbankzugriffe und komprimiert Objekte mit zstd und auf E-Mail-, Kalender- und Kontaktdaten abgestimmten Wörterbüchern. Ein neu aufgebauter Cache hält Nachrichtenindizes kompakt im Arbeitsspeicher. Damit lassen sich etwa IMAP-Sortierung, Threading und Abfragen von Nachrichtenmerkmalen mit wenigen oder ganz ohne Datenbankzugriffe beantworten. Große Konten erhalten einen eigenen Cache-Bereich mit Speicherbudget; Cache-Snapshots können auf lokalen Datenträgern, in Redis oder im Blob-Speicher liegen.
In eigenen Benchmarks verglich das Projekt Stalwart mit Postfix 3.11.7 und Dovecot 2.4.5 auf identischen Azure-Servern mit acht AMD-EPYC-vCPUs, 32 GByte RAM und lokalem NVMe-Speicher. Stalwart lag demnach in 35 von 38 Vergleichen vorn. Eine Volltextsuche über 250.000 Nachrichten dauerte beispielsweise 3,75 statt 136 Millisekunden. Alle drei von Dovecot gewonnenen Tests betrafen das Markieren sämtlicher Nachrichten als gelesen. Das Benchmark-Repository mit Skripten und Rohdaten dokumentiert auch Einschränkungen, darunter Unterschiede bei der Synchronisierung auf den Datenträger.
Stalwart extrahiert und indexiert jetzt Texte aus PDF, Office- und OpenDocument-Dateien sowie EPUB und RTF. Das gilt sowohl für E-Mail-Anhänge als auch