High Availability lässt sich heute mit günstiger Hardware und einer großen Auswahl an kommerzieller sowie freier Software realisieren. ADMIN erklärt die ... (mehr)

Komprimierung spart Speicherplatz

Der 8-Bit-Transport allein komprimiert bereits. Lemonade geht jedoch weiter und verlangt, dass RFC-5550-konforme IMAP- und SMTP-Server als Teil des TLS-Supports ihre Daten mit der Zlib packen. IMAP darf die Komprimierung auch durch die »COMPRESS=DEFLATE« -Erweiterung realisieren, was clientseitig beispielsweise Thunderbird 3 unterstützt.

Die Extension entstand, weil TLS oft zum System gehört und sich schwer erweitern lässt. Zlib spart oft Volumen: So verkleinerte ein IMAP-Server bei Tests mit dem E-Mail-Client Polymer ([27], Abbildung 2) mit aktiviertem »COMPRESS=DEFLATE« den Datenstrom auf 35 bis 40 Prozent der ursprünglichen Größe.

Abbildung 2: E-Mail-Client Polymer behrrscht als IMAP-Spezialist COMPRESS=DEFLATE.

Das Neu-Synchronisieren in einer IMAP-Sitzung verursacht Overhead und macht mobile Netzwerke für Verbindungsabbrüche anfälliger. Aus diesem Grunde beschreibt RFC 5550 eine Familie von Erweiterungen, die den Overhead reduzieren: Die IMAP-Extentions »CONDSTORE« [12] und »QRESYNC« [13] gestatten dem Client jede Mailbox schneller zu synchronisieren. Da erreicht er, indem er den Server bittet, nur Flag-Änderungen und Nachrichtenlöschungen zu liefern, die sich seit dem letzten Speichern ereignet haben. Klassisch sendet der die IMAP-Flags aller Nachrichten. Das reicht, um Änderungen mitzubekommen, die ein anderer Client in derselben Mailbox verursacht, beispielsweise das Handy. Auch ist die Verbindung nach einem TCP-Session-Abbruch schneller wieder intakt.

Tendenziell steigt der Nutzen der »CONDSTORE« -»QRESYNC« -Erweiterungen mit der Mailbox-Größe. Ohne die Erweiterungen lud der Client bei einer Test-Mailbox mit 3000 Nachrichten etwa 140 KByte Status-Daten zusätzlich herunter. Mit »CONDSTORE« rangiert der Traffic meist nahe null.

In extremen Fällen, in denen sich seit der letzten Synchronisation mindestens ein Flag bei fast allen Nachricht geändert hat, verkehrt sich der Größenvorteil ins Gegenteil. Als Worst-Case-Test simulierten wir eine »CONDSTORE« -Synchronisierung aller 3000 Mails und erzeugte dabei 190 KByte an Status-Traffic.

Viele Open-Source- und proprietäre Server supporten bereits »CONDSTORE« und »QRESYNC« , so Cyrus, Dovecot, Zimbra, Isode M-Box und Sun. Clientseitig kommen Thunderbird 3 und Nokia Modest mit »CONDSTORE« klar.

Operationen auf dem Server

Bereits Standard-IMAP kann Email-Nachrichten serverseitig sortieren. RFC 5550 erweitert diese Funktionalität auf zweierlei Weise:

  • Mit der »IMAP ESEARCH« -Erweiterung [15] fordert der Client die Ergebnisse einer Suche auf mehrere Arten an: Erstens die erste und letzte passende Nachricht, zweitens die Nachrichtenzahl oder drittens die passenden Nachrichten in kompakter Darstellung. Mit der Anzahl aktualisieren Clients ihre Zähler. Die Kompaktdarstellung minimiert Traffic: Bei einem Testlauf mit 28536 Nachrichten, davon 8771 Spam, lieferte die Standardsuche »SEARCH KEYWORD Junk« eine Zeichenkette einer Länge von 52 KByte zurück. Die gleiche Suche mit »SEARCH RETURN (COUNT ALL) KEYWORD Junk« erbrachte ein Ergebnis von nur 21 KByte Länge.
  • Die »IMAP CONTEXT=SEARCH« -Erweiterung [14] erzeugt virtuelle Ansichten von Mailboxen, beispielsweise um Nachrichten ohne Spam zu verarbeiten, die ab einem Datum eingegangen sind. Diese Technik beherrschen viele Desktops clientseitig. Sie unterstützt auf diese Weise schwachbrüstige Geräte, das Volumen der Nachrichten und deren Benachrichtigungsdaten zu minimieren. Die Funktion lässt sich auch auf sortierte Ansichten anwenden.
comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019