Die hier liegenden Patches für; die aktuelle Version des INN (Version 1.5.1)
optimieren die Geschwindigkeit des INN 1.5.1 unter Linux.
Auch ohne die Patches können Sie mit einigen Grundregeln Ihren INN
massiv beschleunigen:
Setzen Sie
### =()@>()=
DBZCFLAGS $(CFLAGS) -DMMAP
ein. Dies führt zu einer enormen Beschleunigung beim expire und
im allgemeinen Zugriff auf die History-Datenbank.
Benutzen Sie die Overview-Datenbank! Nicht nur das Lesen der News
per nnrpd wird deutlich schneller, auch der expire läuft ohne
weitere Änderungen deutlich schneller (fastrm statt normaler
Expire). Siehe dazu vor allem das INN-FAQ.
Die nachfolgende Patche wurden bei POP Point of Presence an den INN 1.5.1 angepaßt, oder - im Falle vom "inum"-Patch für den INN - erweitert:
nnrp.sigpipe.diff
nnrpd bricht normalerweise nicht ab und beendet sich, wenn der Client
während der Übertragung "auflegt" (die Verbindung abbricht).
Dieser Patch verwendet das SIGPIPE-Signal, um auch während eines
Transfers nnrpd zu beenden
rnews verbindet sich nur mit dem INN, wenn auch tatsächlich
Artikel im in.coming-Verzeichnis liegen.
Antwortet der INN nicht innerhalb von 5 Minuten, beendet sich rnews.
ext2_no_atime.diff
Bekanntlich wird beim ext2-Dateisystem ja auch der letzte Zugriff auf die
Datei festgehalten - und dies erzwingt bei jedem Zugriff eine Aktualisierung
des Indoes und der Directories. Dieser Patch erlaubt, beim Mounten eines
Dateisystems (z.B. dem News-Spool-Verzeichnis), die Option "no_atime" anzugeben
und damit eine Menge Schreiboperationen einzusparen.
ext2_inum.diff
Auch dieser Patch ist eine Erweiterung der Mount-Optionen für das
ext2-Dateisystem. Die "inum"-Option erlaubt, mit der Syntax z.B. "cat inum:2132"
sich die Datei mit dem Inode 2132 ausgeben zu lassen. Durch den
nachfolgend aufgeführten Patch kann man damit dem INN beibringen,
für die ausgehenden Feeds (UUCP/nntplink/innxmit) die Artikel über
die Inode-Nummer zu referenzieren. Die Folge ist ein Performance-Gewinn,
da nun die Pfade nicht mehr durchsucht, die Datei in den Verzeichnissen
nicht mehr gesucht werden muß.
innd.inum.diff
Patches für den INN, um die obige inum-Erweiterung zu unterstuetzen.
Achtung: Die Originalversion ist m.E. weder vollständig noch
ungefährlich. Die hier liegende Version behebt den Umstand, daß
nach einem Cancel des referenzierten Artikels der Inode auf einen
neu eingetroffenen Artikel zeigen kann, der evtl. zu einer ganz anderen
Newsgruppe gehört. Gibt man die Option "Wib" an, so werden
Inode-Nummer und Größe übergeben, der Batcher prüft
die Größe aber noch mal sicherheitshalber ab. Stimmt sie
nicht, wird der Artikel übersprungen.
mmap-overview.patch
Dieser Patch ist nicht Linux-spezifisch, sondern läuft mit allen sauberen
mmap-Implementierungen zusammen. Durch binäres Suchen und Einsatz
von mmap wird der Zugriff auf die Overview-Datenbank erheblich beschleunigt.
Originalsite ist http://www.xs4all.nl/~johnpc/inn.