Hallo zusammen, eines meiner Scripte braucht laut Top circa 3 Stunden addierte Gesamtlaufzeit, so wie ich das sehe benutzt es aber nur rund 30% Prozessorleistung und erreicht in Realzeit erst nach gut 9 stunden sein Ende. Kann man dem Script irgendwie mitgeben mehr Prozessor zu nutzen um schneller fertig zu werden? Eine Verkürzung auf z. B. die Hälfte der jetzigen Zeit würde schon helfen. Johannes -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Johannes Kapune
Hallo zusammen, eines meiner Scripte braucht laut Top circa 3 Stunden addierte Gesamtlaufzeit, so wie ich das sehe benutzt es aber nur rund 30% Prozessorleistung und erreicht in Realzeit erst nach gut 9 stunden sein Ende.
Kann man dem Script irgendwie mitgeben mehr Prozessor zu nutzen um schneller fertig zu werden? Eine Verkürzung auf z. B. die Hälfte der jetzigen Zeit würde schon helfen.
Das ist schwer zu sagen, da du nicht schreibst, welche Operationen das Script ausführen soll. Prinzipiell könntest du über den Nice-Wert das Script bevorzugen. Wenn mit dem Script aber viele Schreib- und Syslog-Operationen verbunden sind, hast du kaum eine Chance. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:8EF7B6C6 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Dieter, hallo Jens, Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo zusammen, eines meiner Scripte braucht laut Top circa 3 Stunden addierte Gesamtlaufzeit, so wie ich das sehe benutzt es aber nur rund 30% Prozessorleistung und erreicht in Realzeit erst nach gut 9 stunden sein Ende.
Kann man dem Script irgendwie mitgeben mehr Prozessor zu nutzen um schneller fertig zu werden? Eine Verkürzung auf z. B. die Hälfte der jetzigen Zeit würde schon helfen.
Das ist schwer zu sagen, da du nicht schreibst, welche Operationen das Script ausführen soll. Prinzipiell könntest du über den Nice-Wert das Script bevorzugen. Wenn mit dem Script aber viele Schreib- und Syslog-Operationen verbunden sind, hast du kaum eine Chance.
es handelt sich nur um das Sichern der cyrus-imap-maildatenbank: ====== schnipp SHELL=/bin/sh su - cyrus -c 'ctl_mboxlist -d >/var/lib/imap/mailboxes_export.txt' su - cyrus -c 'for seenfile in `find /var/lib/imap/user -name \*.seen`; do /usr/lib/cyrus/bin/cvt_cyrusdb $seenfile skiplist ${seenfile%seen}txt flat; done' su - cyrus -c '/usr/lib/cyrus/bin/cvt_cyrusdb /var/lib/imap/deliver.db berkeley-nosync /var/lib/imap/deliver.txt flat' ====== schnapp Johannes -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
es handelt sich nur um das Sichern der cyrus-imap-maildatenbank:
"Nur" ist gut, das sind wohl die vielen Schreib- und Leseoperationen von denen Dieter sprach. "nice" bringt nur dann etwas, wenn parallel noch andere Rechenoperationen durchgeführt werden, wenn dein Rechner in dieser Zeit nichts anderes tut, dann sind keine anderen Prozesse da, die Rechenleistung von deinem Script wegziehen könnten. Idee, die mir spontan einfällt aber die ich noch nie ausprobiert hab: In den Mountoptionen für die Platte sagen dass nicht sofort geschrieben wird, sondern nur alle paar Sekunden und die Änderungen erst in einen Puffer im RAM kommen, vielleicht bringt das was. So wie es mal bei den Disketten der Fall war: Man kann munter rumkopieren, aber tatsächlich synchronisiert wird es nur zu bestimmten Zeiten. Grüße Philipp -- http://philipp.rootiniert.de E-Mails verschlüsseln mit PGP. Mein PGP-Key zur Verifizierung: http://tinyurl.com/ddyfnm -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Johannes Kapune
Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: [...] Kann man dem Script irgendwie mitgeben mehr Prozessor zu nutzen um schneller fertig zu werden? Eine Verkürzung auf z. B. die Hälfte der jetzigen Zeit würde schon helfen. [...] es handelt sich nur um das Sichern der cyrus-imap-maildatenbank:
was heisst nur? da muss ja bei jeder einzelnen Mail geprüft werden, ob die Berechtigung stimmt, dazu kommen erhebliche Lese- und Schreiboperationen. Der Prozessor hat da relativ wenig zu tun, Platten I/O ist da das Nadelöhr, anders formuliert 'Filedescriptors' und davon hast du vermutlich nur 1024 für diesen Prozess aktiviert, das kann durch ulimit -n geprüft und verändert werden. [...] -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:8EF7B6C6 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, den 03.01.2010, 23:44 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: [...] Kann man dem Script irgendwie mitgeben mehr Prozessor zu nutzen um schneller fertig zu werden? Eine Verkürzung auf z. B. die Hälfte der jetzigen Zeit würde schon helfen. [...] es handelt sich nur um das Sichern der cyrus-imap-maildatenbank:
was heisst nur? da muss ja bei jeder einzelnen Mail geprüft werden, ob die Berechtigung stimmt, dazu kommen erhebliche Lese- und Schreiboperationen. Der Prozessor hat da relativ wenig zu tun, Platten I/O ist da das Nadelöhr, anders formuliert 'Filedescriptors' und davon hast du vermutlich nur 1024 für diesen Prozess aktiviert, das kann durch ulimit -n geprüft und verändert werden.
[...] jepp, 1024 ist korrekt. Besser wäre da wohl ein schnelles Array von Platten einzusetzen(?) Kann ich da irgendetwas an der Syntax umstellen damit es schneller geht?
-Dieter
Johannes -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo,
Johannes Kapune
Am Sonntag, den 03.01.2010, 23:44 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: [...] es handelt sich nur um das Sichern der cyrus-imap-maildatenbank: was heisst nur? da muss ja bei jeder einzelnen Mail geprüft werden, ob die Berechtigung stimmt, dazu kommen erhebliche Lese- und Schreiboperationen. Der Prozessor hat da relativ wenig zu tun, Platten I/O ist da das Nadelöhr, anders formuliert 'Filedescriptors' und davon hast du vermutlich nur 1024 für diesen Prozess aktiviert, das kann durch ulimit -n geprüft und verändert werden.
[...] jepp, 1024 ist korrekt. Besser wäre da wohl ein schnelles Array von Platten einzusetzen(?)
Ja, SCSI-Platten, wenn möglich. Der Vorteil von SCSI gegenüber PATA ist die Möglichkeit des parallelen Schreibens und Lesens. Wieviele User und Mails werden denn im Mittel von dem Script bearbeitet?
Kann ich da irgendetwas an der Syntax umstellen damit es schneller geht?
Anhand der wenigen Zeilen kann ich das nicht beurteilen, ich glaube aber, dass eine signifikante Beschleunigung kaum möglich ist. Auch kenne ich cyrus-imapd auch zu wenig, um das Verhalten von BerkeleyDB zu beurteilen. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:8EF7B6C6 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 4. Januar 2010 schrieb Dieter Kluenter:
Hallo,
Johannes Kapune
writes: Am Sonntag, den 03.01.2010, 23:44 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: ... Ja, SCSI-Platten, wenn möglich. Der Vorteil von SCSI gegenüber PATA ist die Möglichkeit des parallelen Schreibens und Lesens. entscheidender dürfte wohl sein, dass solche Platte in der Regel ganz anders ausgelegt sind, höhere Drehzahlen haben und kürzere Zugriffs- und Latenzzeiten. Dazu kommt bei einem Array ein Controller mit einer gehörigen Portion Cache, der auch anders als im Rechner selbst voll bei Schreibzugriffen genutzt wird.
Aber das ist (in Verbindung mit einem auch ansonsten ähnlich dimensionierten sonstigen Rechner) natürlich auch eine finanzielle Frage... Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Zusammen, Am Montag, den 04.01.2010, 19:25 +0100 schrieb Martin Hofius:
Am Montag, 4. Januar 2010 schrieb Dieter Kluenter:
Hallo,
Johannes Kapune
writes: Am Sonntag, den 03.01.2010, 23:44 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: ... Ja, SCSI-Platten, wenn möglich. Der Vorteil von SCSI gegenüber PATA ist die Möglichkeit des parallelen Schreibens und Lesens. entscheidender dürfte wohl sein, dass solche Platte in der Regel ganz anders ausgelegt sind, höhere Drehzahlen haben und kürzere Zugriffs- und Latenzzeiten. Dazu kommt bei einem Array ein Controller mit einer gehörigen Portion Cache, der auch anders als im Rechner selbst voll bei Schreibzugriffen genutzt wird. Aber das ist (in Verbindung mit einem auch ansonsten ähnlich dimensionierten sonstigen Rechner) natürlich auch eine finanzielle Frage... der (auch finanzielle) Aufwand lohnt sich für mich nicht. Ich sichere jetzt die "Rohdaten" täglich und die Exporte nur mehr einmal die Woche.
Danke für die Hilfestellungen, aber ich hatte gehofft es ließe sich einfacher Beschleunigen :-( Johannes -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 03.01.2010 18:24, schrieb Johannes Kapune:
Hallo Dieter, hallo Jens,
Am Sonntag, den 03.01.2010, 10:57 +0100 schrieb Dieter Kluenter:
Johannes Kapune
writes: Hallo zusammen, eines meiner Scripte braucht laut Top circa 3 Stunden addierte Gesamtlaufzeit, so wie ich das sehe benutzt es aber nur rund 30% Prozessorleistung und erreicht in Realzeit erst nach gut 9 stunden sein Ende.
====== schnipp SHELL=/bin/sh su - cyrus -c 'ctl_mboxlist -d>/var/lib/imap/mailboxes_export.txt' su - cyrus -c 'for seenfile in `find /var/lib/imap/user -name \*.seen`; do /usr/lib/cyrus/bin/cvt_cyrusdb $seenfile skiplist ${seenfile%seen}txt flat; done' su - cyrus -c '/usr/lib/cyrus/bin/cvt_cyrusdb /var/lib/imap/deliver.db berkeley-nosync /var/lib/imap/deliver.txt flat' ====== schnapp
Johannes
Hallo Johannes, ich benutze dasselbe Script seit ca. 2 Jahren. Ich habe damals festgestellt, dass der Export der deliver.db extem langsam ist. Da die deliver.db nicht unbedingt gesichert werden muss habe ich die entspr. Zeile auskommentiert. Prüfe 'mal wie groß die deliver.db ist - die kann man, auf Kosten von einigen wenigen doppelten Mails, auch löschen. Cyrus legt sie beim Start wieder an. Das Exportierten aus den "Skiplisten" geht hier sehr schnell - allerdings gibts es hier nur eine sehr überschaubare Anzahl von Mailboxen. Gruß Oskar -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Dieter Kluenter
-
Johannes Kapune
-
Martin Hofius
-
Oskar Schüßler
-
Philipp Bender