Merge pull request #568 from mailcow/feat/dovecot_dirty_sync

Add Documtentation about maildir_very_dirty_syncs (by: @Daniel15)
Dieser Commit ist enthalten in:
Niklas Meyer 2023-05-24 11:03:10 +02:00 committet von GitHub
Commit 98c8d30336
Es konnte kein GPG-SchlĂĽssel zu dieser Signatur gefunden werden
GPG-SchlĂĽssel-ID: 4AEE18F83AFDEB23
3 geänderte Dateien mit 34 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -0,0 +1,16 @@
## maildir_very_dirty_syncs
Dovecot's [`maildir_very_dirty_syncs`](https://wiki.dovecot.org/MailLocation/Maildir#Optimizations) Option ist seit mailcow Release 2023-05 standardmäßig aktiviert. Diese Option kann die Leistung von Postfächern, die sehr große Ordner (über 100.000 E-Mails) enthalten, erheblich verbessern.
Mit dieser Option wird vermieden, dass beim Laden einer E-Mail das gesamte `cur`-Verzeichnis erneut durchsucht wird. Wenn diese Option deaktiviert ist, geht Dovecot auf Nummer sicher und durchsucht das **gesamte** `cur`-Verzeichnis (vergleichbar mit dem Ausführen eines `ls`), um zu prüfen, ob diese bestimmte E-Mail berührt (umbenannt, etc.) wurde, indem es nach allen Dateien sucht, deren Namen die richtige ID enthalten. Dies ist sehr langsam, wenn das Verzeichnis groß ist, selbst auf Dateisystemen, die für solche Anwendungsfälle optimiert sind (wie ext4 mit aktiviertem `dir_index`) auf schnellen SSD-Laufwerken.
Diese Option ist sicher, solange Sie Dateien unter `cur` nicht manuell anfassen (da Dovecot die Änderungen dann möglicherweise nicht bemerkt). Auch wenn diese Option aktiviert ist, wird Dovecot Änderungen bemerken, wenn die mtime (last modified time) der Datei geändert wurde, aber ansonsten wird das Verzeichnis nicht gescannt und es wird einfach angenommen, dass der Index aktuell ist. Dies entspricht im Wesentlichen dem, was sdbox/mdbox tun, und mit dieser Option können Sie einen Teil der Leistungssteigerung erhalten, die mit sdbox/mdbox einhergehen würde, während Sie weiterhin maildir verwenden.
Diese Option ist bei einer Standard-mailcow-Installation sicher zu verwenden. Wenn Sie jedoch Tools von Drittanbietern verwenden, die manuell Dateien direkt im Maildir modifizieren (anstatt über IMAP), möchten Sie diese Option vielleicht deaktivieren. Um diese Option zu deaktivieren, [erstellen Sie eine data/conf/dovecot/extra.conf Datei](./u_e-dovecot-extra_conf.de.md) und fügen Sie diese Einstellung hinzu:
```ini
maildir_very_dirty_syncs=no
```
!!! warning "Achtung"
Bitte nutzen Sie für eigene Anpassungen **IMMER**, die oben erwähnte [`extra.conf`](./u_e-dovecot-extra_conf.de.md), da Änderungen, welche in der normalen `dovecot.conf` geändert werden möglicherweise _nach einem Update vom GitHub Quellcode_ überschrieben werden.

Datei anzeigen

@ -0,0 +1,16 @@
## maildir_very_dirty_syncs
Dovecot's [`maildir_very_dirty_syncs` option](https://wiki.dovecot.org/MailLocation/Maildir#Optimizations) is enabled by default since mailcow Release 2023-05. This option can significantly improve the performance of mailboxes that contain very large folders (over 100,000 emails).
What this option does is it avoids rescanning the entire `cur` directory whenever loading an email. With this option disabled, Dovecot takes it safe and scans the **entire** `cur` directory (comparable with running an `ls`) to check if that particular email was touched (renamed, etc), by looking for all files whose names contain the correct ID. This is very slow if the directory is large, even on filesystems optimized for such use cases (such as ext4 with `dir_index` enabled) on fast SSD drives.
This option is safe to use as long as you do not manually touch files under `cur` (as then Dovecot may not notice the changes). Even with this option enabled, Dovecot will still notice changes if the file's mtime (last modified time) is changed, but otherwise it will not scan the directory and just assumes the index is up-to-date. This is essentially the same as what sdbox/mdbox do, and with this option you can get some of the performance increase that would come with sdbox/mdbox while still using maildir.
This option is safe to use on a standard Mailcow installation. However, if you use any third-party tools that manually modify files directly in the maildir (rather than via IMAP), you may wish to disable it. To disable this option, [create a data/conf/dovecot/extra.conf file](./u_e-dovecot-extra_conf.en.md) and add this setting to it:
```ini
maildir_very_dirty_syncs=no
```
!!! warning
Please **ALWAYS** use the above mentioned [`extra.conf`](./u_e-dovecot-extra_conf.en.md) for your own customizations, as changes made in the normal `dovecot.conf` might be overwritten _after an update from GitHub source code_.

Datei anzeigen

@ -128,6 +128,7 @@ nav:
- 'Mail crypt': 'manual-guides/Dovecot/u_e-dovecot-mail-crypt.md'
- 'More Examples with DOVEADM': 'manual-guides/Dovecot/u_e-dovecot-more.md'
- 'Move Maildir (vmail)': 'manual-guides/Dovecot/u_e-dovecot-vmail-volume.md'
- 'Performance Optimizations': 'manual-guides/Dovecot/u_e-dovecot-performance.md'
- 'Public folders': 'manual-guides/Dovecot/u_e-dovecot-public_folder.md'
- 'Static master user': 'manual-guides/Dovecot/u_e-dovecot-static_master.md'
- 'Vacation replies for catchall addresses': 'manual-guides/Dovecot/u_e-dovecot-catchall_vacation.md'
@ -246,6 +247,7 @@ plugins:
'More Examples with DOVEADM': 'Weitere Beispiele mit DOVEADM'
'Move Maildir (vmail)': 'Maildir verschieben (vmail)'
'Public folders': 'Ă–ffentliche Ordner'
'Performance Optimizations': 'Performance Optimierungen'
'Static master user': 'Statischer Hauptbenutzer'
'Vacation replies for catchall addresses': 'Urlaubsantworten fĂĽr Catchall-Adressen'
### Nginx Subsection