Benchmark: ownCloud gegen Seafile – wer synchronisiert schneller?

6 Kommentare Autor: Jürgen (jdo)

Vorwort: Der Vergleich oder ein Benchmark Seafile gegen ownCloud hinkt auf den ersten Blick gewaltig. Seafile ist ein reiner Datei-Synchronisations-Service und ownCloud ist wesentlich mehr. Bekanntlich lassen sich mit ownCloud zusätzlich zur Datei-Synchronisation auch Kalender-Einträge und Kontakte synchronisieren, der Cloud-Dienst bringt einen Video- und Musik-Player mit sich und bei neueren Versionen sogar eine Textverarbeitungs-Software. Bei letzterem können mehrere ownCloud-Anwender sogar gleichzeitig an einem Dokument arbeiten. Weiterhin können ownCloud-Anwender gegenseitig Ordner teilen, auch wenn sie sich auf verschiedenen ownCloud-Instanzen befinden. Was ich hier einer Art Benchmark unterzogen habe, sind die Datei-Synchronisations-Services beider Cloud-Systeme und nur diese.

Benchmark: Seafile gegen ownCloud

Die Voraussetzungen für beide Systeme sind gleich. Ich habe beide Cloud-Systeme auf meine zugegeben nicht besonders schnelle ZBOX mit Intel Atom Dual-Core, zwei GByte RAM, 100 MBit Ethernet und einer normalen Festplatte installiert. Beide Systeme verwenden MySQL als Datenbank-Server und beide sind via https mit einem selbst unterzeichneten Zertifikat erreichbar.

Seafile ist als Version 4.0 im Einsatz und bei ownCloud ist es Version 7. Die Clients sind Seafile 4.0 und ownCloud 1.7.

Für den Test habe ich die dedizierten Clients für ownCloud und Seafile unter Linux verwendet. Genau gesagt kam Linux Mint 17.1 auf Client-Seite zum Einsatz.

Nun habe ich bestimmte Datei-Typen auf die beiden Cloud-Systeme losgelassen und manuell gestoppt, wie sich Seafile und ownCloud dabei schlagen.

1116 Dokumente, insgesamt 22,9 MByte: Es handelt sich hier zum Großteil im ODT-Dateien – also viele aber kleine Dateien. Die Dokumente sind in der Regel zwischen zehn und 30 KByte groß.

Seafile gegen ownCloud: Dokumente

Seafile gegen ownCloud: Dokumente

386 Fotos, ingesamt 2,7 GByte: Dieser Ordner besteht zum größten Teil aus JPG-Dateien mit 18 MPixel Auflösung – diese kommen so aus meiner Canon EOS 7D. Die Bilder sind ungefähr zwischen sechs und elf MByte groß.

ownCloud gegen Seafile: Bilder

ownCloud gegen Seafile: Bilder

22 PDF-Magazine, ingesamt 1,1 GByte: Das sind eben PDF-Magazine wie zum Beispiel Linux Voice, das PDF-Magazin und so weiter. Hier sind die Dateien zwischen 50 und 100 MByte groß.

Seafile gegen ownCloud: Magazine

Seafile gegen ownCloud: Magazine

Die Daten sind nicht künstlich produziert, sondern existieren tatsächlich auch so. Ich habe sie lediglich geordnet, dass man sehen kann, wie sich ownCloud und Seafile mit den jeweiligen Typen schlagen. Das Ganze wurde per Hand gestoppt, auf die Zehntelsekunde wird es also nicht stimmen.

Dokumente – Kleine aber viele Dateien

Wie bereits erwähnt sind die Dateien hier zwischen zehn und 30 KByte groß. Bei der ownCloud werden die Dokumente mehr oder weniger einzeln synchronisiert. Deswegen braucht die ownCloud auch geschlagene 26 Minuten und 33 Sekunden.

Seafile schnappt sich die Daten hingegen anscheinend anhand der gesamten Paket-Größe. Die 22,9 MByte der über 1100 Dokumente waren in nur 9 Sekunden synchronisiert. Alle Dokumente wurden in einem Rutsch auf den Cloud-Server geschoben.

Fotos – auch viele, aber mittelgroße Dateien

Bei den Fotos ist das Ergebnis schon knapper. Der ownCloud-Client brauchte 7 Minuten und 31 Sekunden, um die Bilder mit dem Server zu synchronisieren.

Seafile war mit 6 Minuten und 27 Sekunden gut eine Minute schneller. Der Seafile-Client hat die Synchronisation dabei in Häppchen vorgenommen. Bei jedem Sync-Vorgang wurden zwischen 14 und 17 Fotos mit dem Server synchronisiert.

Magazine – Relativ große Dateien, dafür weniger

Hier hat ownCloud die Nase vorne. Um die PDF-Magazine zu synchronisieren, brauchte die ownCloud 2 Minuten und 13 Sekunden.

Seafile hat pro Sync-Vorgang zwischen zwei und drei Magazine auf den Server geschoben. Die Pausen zwischen den einzelnen Synchronisationen haben verursacht, dass Seafile an dieser Stelle insgesamt 2 Minuten und 35 Sekunden brauchte.

Fazit

Hier noch einmal die Ergebnisse in einer Tabelle zusammengefasst:

Art der DatenownCloudSeafile
Dokumente, 1116 Dateien, 22,9 MByte26 Minuten 33 Sekunden9 Sekunden
Fotos, 386 Dateien, 2,7 GByte7 Minuten 31 Sekunden6 Minuten 27 Sekunden
Magazine, 22 Dateien, 1,1 GByte2 Minuten 13 Sekunden2 Minuten 35 Sekunden

Bei meiner Konstellation ist klar, dass je größer die einzelnen Dateien sind, desto enger liegen die beiden Cloud-Systeme bei der Synchronisation beisammen. Im Endeffekt ist irgendwann das 100-MBit-Netzwerk der limitierende Faktor.

Wer lediglich einen Datei-Synchronisations-Service benötigt und nicht mehr, bekommt bei Seafile auf jeden Fall mehr Performance unter gleichen Bedingungen – vor allen Dingen bei vielen kleinen Dateien. Allerdings ist die ownCloud einfacher zu installieren – zumindest unter Linux. Für populäre Linux-Distributionen gibt es Repositories und somit kann man die ownCloud über die bekannten Paket-Management-Services installieren und auch aktualisieren. Das ist bei Seafile etwas komplizierter.

Weiterhin bekommt man ownCloud bei den meisten Hostern ans Laufen, wenn man auch hier und da etwas tricksen muss. Bei Seafile benötigt man auf jeden Fall Python, das nicht alle Web-Hoster zur Verfügung stellen.

Hat man viele Dateien, es kommen aber nur relativ wenige dazu, ist die Performance nicht so ein Problem. Möchte man eine Eierlegende-Wollmilchsau als Cloud-System haben und nur ein System administrieren müssen, ist die ownCloud sicherlich besser geeignet.

Muss man dauerhaft mit vielen (kleinen) Dateien hantieren, dann bietet Seafile einen deutlichen Vorteil.

Noch ein paar Anmerkungen, die mit der eigentlichen Synchronisations-Performance nichts zu tun haben

Auch auf Client-Seite ist die ownCloud eigentlich komfortabler zu bedienen. Der Anwender kann im Sync-Client zum Beispiel einstellen, welche Dateien für eine Synchronisation ignoriert werden sollen. Bei Seafil geht das auch, aber hier muss der Anwender selbständig eine Datei seafile-ignore.txt anlegen und dann mit Muster-Erkennung hantieren. Für die meisten Linuxer löst das sicher ein müdes Lächeln aus, aber ich kenne genügend Leute, die damit zu kämpfen hätten – nicht jeder ist ein IT-Spezialist.

Weiterhin sind die Verschlüsselungs-Praktiken der beiden Cloud-Systeme völlig verschieden. Bei ownCloud gibt der Administrator an, ob das gesamte Konto eines Nutzers verschlüsselt sein soll oder nicht – der Anwender kann sich in diesem Fall also gar nicht wehren, ob seine Daten sicherer sind. Bei Seafile legt der Anwender von Bibliothek zu Bibliothek fest, ob diese verschlüsselt sein soll. Dafür wird ein Passwort festgelegt.

Was ich mit diesen beiden letzten Absätzen sagen wollte: Man kann nicht nur nach reiner Geschwindigkeit gehen, wenn man sich für eines der beiden Cloud-Pakete entscheidet. Als einzelner Anwender hat man die Daten schnell mal umgezogen. Sollte man allerdings einen größeren Einsatz planen, lohnt sich schon ein Blick in die entsprechenden Dokumentationen. Außerdem sollte man sich sehr genau darüber im Klaren sein, was man eigentlich erreichen möchte.

Seafile vorinstalliert

Wer eine Seafile-Instanz auf einem Raspberry Pi vorinstalliert haben möchte, kann sich den ionas-Server mal ansehen. Sowohl die ownCloud als auch Seafile lassen sich nämlich auch auf einem stromsparendem Raspberry Pi installieren und betreiben. Für eine Einzelperson ist die Hardware für die meisten Anwendungsfälle wohl ausreichend. Somit betreibt man seine eigene Cloud in den eigenen vier Wänden.

Von außen kann man auf solche Lösungen ebenfalls zugreifen. Entweder installiert man sich OpenVPN und wählt sich sozusagen auf seinen Server ein, oder man gibt den entsprechenden Port im Router frei und verbindet sich direkt via https mit dem jeweiligen Cloud-Service.

Nette Pi-Konstellation

Suchst Du ein VPN für den Raspberry Pi? NordVPN* bietet einen Client, der mit Raspberry Pi OS (32-Bit / 64-Bit) und Ubuntu für Raspberry Pi (64-Bit) funktioniert.




 Alle Kommentare als Feed abonnieren

6 Kommentare zu “Benchmark: ownCloud gegen Seafile – wer synchronisiert schneller?”

  1. Marcus says:

    Ich hatte mit dem owncloud Sync bisher schon sehr viele Probleme. Besonders wenn mehrere Geräte gleichzeitig einen Folder Syncen, kommt die Software durcheinander.

    In einer Version hatte ich schon den Effekt, dass er gesagt hat, alles wurde korrekt gesynced, auf dem Server hatten die Files auch eine ähnliche Grösse, aber andere md5sums.

    Ich probiere es jetzt mit seafile, da es mir einen deutlich robusteren Eindruck macht. Performance steht für mich da nicht im Vordergrund. Für Kalender / Kontakte ist radicale recht gut.

    • jdo says:

      Seit ownCloud 7 und ownCloud Client 1.7 sind viele der früheren Probleme (zumindest bei mir) Geschichte. Ich synchronisiere ohne große Probleme über drei Geräte. Früher hatte ich auch massiv Probleme mit mehreren Geräten und diesen _conflict-Dateien.

      Aber wie gesagt kommen bei mir nicht viele Dateien hinzu und die darauf sind ändern sich selten. Für Datei-Synchronisation kommt es wohl auch auf den Anwendungsfall an.

  2. Matthias says:

    Seafile bietet auch einen Video und Audioplayer an, zumindest unter Chrome funktionierten diese allerdings nicht einwandfrei. Hier ist noch ein Kandidat, der mich interessiert: http://opennebula.org/

    Und theoretisch auch die FOSS Cloud: http://www.foss-cloud.org/en/wiki/FOSS-Cloud

  3. devr says:

    Einfach mal im Owncloud Ordner ein paar Dateien anlegen:

    i=0; while [ $i -lt 1000 ] ;do echo $RANDOM > $i && let i=i+1;done

    Zuschauen wie er synct, anschließend die Dateien am Client wieder löschen.
    Absurd lächerliche Performance, bei mir hat es den Apache auf 100% gejagt. Von der Laufzeit fangen wir gar nicht an. Das sind Standardaufgaben die bspw. Unison in Bruchteilen von Sekunden erledigt...

  4. Shogun says:

    Auch in Sachen Online-Editor und Viewer hat Seafile mittlerweile aufgeholt: einfache Textdateien, wahlweise mit MarkDown-Formatierung, können online bearbeitet werden. Der schon oben angesprochene Viewer für Audio- und Video-Datein funktioniert bei mir unter Firefox perfekt. Sogar ein rudimentärer Viewer für OpenDocument-Dateien ist integriert. Wer möchte, kann sogar eine Wiki-Funktion aktivieren, bei der innerhalb einer Sammlung verschiedene Dokumente miteinander verknüpft werden können. Auch bietet Seafile ein Feature, welches OwnCloud komplett fehlt: einen Verlauf. Sofern aktiviert läßt sich damit der Ordnerinhalt zu jedem beliebigen früheren Zeitpunkt ansehen.

    Nach all dem Lobgesang auf Seafile nun aber noch etwas zu OwnCloud: Dateien werden in OwnCloud immer insgesammt synchronisiert. So z.B. wird bei großen Logdateien, bei denen hinten nur ein paar Bytes hinzugefügt wurden oder Fesplatten-Images, bei denen nur ein paar Bytes geändert wurden, immer wieder komplett über die Leitung geschickt. Die OwnCloud-Entwickler haben zugegeben, dass das nicht richtig zur Skalierbarkeit passt, für einen Umbau auf blockweise Verarbeitung der OwnCloud-Kern aber komplett neu geschrieben werden müsste.