schlechte rsync Performance

  • Hallo erstmal, ich bin der neue mit nem 459II. Ich habe das Gerät seit gestern in Betrieb und bereits ein paar Daten aufgespielt. Ich habe nun folgendes konkrete Problem:


    Beim Transferieren von Daten via smbmount von meinem loklaen PC zum QNAP habe ich ordentliche Transferraten zwischen 50 und 90 MB/s. Leider brechen diese Werte auf ca. 12 MB/s ein sobald ich rsync einsetze was eigentlich ein sehr wichtiger Einsatzzweck für mich für die Maschine sein sollte. Spannenderweise steigen die Werte wieder auf ca. 40-60MB/s sofern ich das Verzeichnis vom QNap via smb mounte und das rsync dann "lokal" auf diesen Mount ausführe.


    Kann ihr mir hier die Hintergründe erklären und einen Tipp geben, wie ich auf ordentliche Transferraten beim nativen Einsatz von rsync komme?


    Merci mal,
    longInt

  • Nicht bewusst, nein. Ist die bei SMB aktiv um die Unterschiede zu erklären?
    Das rsync im ipkg war etwas aktueller als das originale, aber so richtig bringt das auch nichts.


    Ich vermute im Moment es liegt an der Performance des QNAP, die haut mich ehrlich gesagt nicht vom Hocker. Habe aber schon gelesen das andere Speicherriegel hier was bringen könnten, Dummerweise scheinen meine guten 2GB Riegel die ich hier noch rumliegen habe nicht kompatibel. Ich habe das Gefühl das es anders herum besser funktioniert, d.h. wenn der QNAP nur rsync Client ist, aber eigentlich will ich schon von den verschiedenen Clients aus den Sync triggern (könnte ich natürlich auch bei Bedarf via ssh Einzeiler auf dem QNAP tun).

  • Ich vermute mal, daß Du rsync im sshd-mode ausführst. Vielleicht kannst Du mal die Kommandozeile posten. Besser wäre der rsyncd-mode.


    sshd-mode:
    rsync verbindet sich mit dem sshd auf dem NAS und ruft auf dem NAS rsync auf, welches die Daten schreibt. sshd und rsync belasten die CPU, vorallem sshd wegen der verschlüsselten Übertragung.


    rsyncd-mode:
    rsync verbindet sich mit dem rsyncd auf dem NAS. rsyncd muß vorher aktiviert und eingerichtet werden im Admin-GUI. Weniger CPU-Last, da die Verschlüsselung wegfällt -> höhere Datenrate.


    smb-mount-mode:
    rsync läuft nur lokal auf dem PC, welcher genug CPU-Leistung hat. NAS schreibt nur Daten -> geringe CPU-Last.


    rsync ist ja eher ein Programm, welches für Backups über niedrigratige Verbindungen konzipiert wurde, d.h. die zu übertragende Datenmenge wird gering gehalten. rsync analysiert jedes File und überträgt nur unterschiedliche Blöcke und prüft die korrekte Übertragung mittels Checksummen. Das ist natürlich rechenaufwändig, aber sicher!


    Linuxnutzer

    Einmal editiert, zuletzt von frosch2 () aus folgendem Grund: Volltextzitat entfernt, bitte Forenregeln beachten!

  • Zitat von "linuxnutzer"

    Ich vermute mal, daß Du rsync im sshd-mode ausführst.


    Nope, ich mache ein ganz normales 'rsync -av SRC admin@qnap:/DEST'


    Was meinst du mit "einrichten über die Admin Oberfläche"? Ich habe da nichts zum Einrichten (außer Aktivieren) und ich wüsste auch nicht was man da einrichten soll?

  • Doch, doch. Ein : ist remote shell mode (ssh); zwei :: ist rsyncd-mode (http://www.samba.org/ftp/rsync/rsync.html - CONNECTING TO AN RSYNC DAEMON), das würde etwa so aussehen: 'rsync -av SRC qnap::/SHARENAME/...' evtl. 'rsync -av SRC Rsyncuser@qnap::/SHARENAME/...'. Rsyncuser und Passwort muß man erst konfigurieren, genau wie die Option, dass es erlaubt ist auf das NAS zu kopieren. Ich hab es nicht mehr genau im Kopf, aber wahrscheinlich findet man die Optionen unter Backup oder so.
    Bei mir hat sich die Datenrate mit dem rsync-mode ca. um den Faktor 2,5 erhöht gegenüber sshd-mode.

    Einmal editiert, zuletzt von frosch2 () aus folgendem Grund: Volltextzitat entfernt, bitte Forenregeln beachten!

  • Cool, man lernt eben nie aus :)


    Brauche ich für die : Version überhaupt den rsyncd?


    Merci mal, ich teste das dann heute Abend gleich mal....

  • Zitat von "longint"


    Brauche ich für die : Version überhaupt den rsyncd?


    Nein.


    Man muß für den rsyncd-mode aber die /etc/rsyncd.conf einrichten, was auf dem NAS anscheinend automatisch erledigt wird. Dort sind alle shares als Module eingetragen, d.h. in Verzeichnisse außerhalb der Shares kann nicht ge-rsynct werden.
    Desweiteren läuft der rsync-Prozeß per default in einer chroot-Umgebung mit dem share-folder als root. Das bringt zusätzliche Sicherheit, daß außerhalb des shares nichts geschrieben werden kann. Allerdings hat rsync dadurch keinen Zugriff auf /etc/passwd und /etc/groups, d.h. user und group mapping funktioniert nicht, falls gleiche user-/groupnamen auf unterschiedliche IDs gemapped sind, d.h. praktisch ist immer die Option --numeric-ids aktiv, falls owner/group gesichert werden soll.

  • OK, sieht besser aus, Danke! Es klappt bei mir aber nur wenn ich den User der in der WebOberfläche definiert ist verwende und mit dem originalen rsync. Das neuere aus ipkg scheint irgendwie nicht zu funzen.


    BTW: Vor dem SHARENAME darf kein / stehen (bezogen auf Dein Beispiel oben).