ownCloud vs Seafile – Performance

ownCloud ist seit Jahren der unangefochtene Favorit sobald es um das Thema “private cloud” geht. ownCloud bietet neben der Dateisynchronisation noch einen Termin- und Kontaktabgleich per Caldav und Carddav und lässt sich über vielfältige Addons erweitern. Auch auf dem bekannten Minirechner Raspberry Pi kann es ohne große Mühe installiert werden. Trotzdem gibt es immer wieder auch kritische Stimmen. Es wird die Performance von ownCloud kritisiert, der große Hardwarehunger, die Dateisynchronisation soll nicht stabil laufen und es soll immer wieder Probleme mit den Updates geben.

Auch persönlich habe ich ownCloud 4 und ownCloud 5 ausprobiert und habe beide Male frustriert nach ein paar Wochen den Versuch abgebrochen. Bei ownCloud 4 war die Synchronisationsgeschwindigkeit einfach unterirdisch und bei ownCloud 5 hat die Synchronisation regelmäßig Dateikonflikte produziert, obwohl nichts an den Dateien verändert wurde. Dementsprechend skeptisch bin ich ownCloud gegenüber eingestellt. Nun wollte ich ownCloud 7 aber eine neue Chance geben und es mit dem Konkurrenten Seafile vergleichen. Da ich keine Webseite mit Informationen zur Performance von ownCloud und Seafile gefunden habe, haben wir von ionas – Ihr Online Assistent uns selbst daran gemacht und haben ownCloud mit Seafile verglichen. Primär ging es uns darum zu prüfen, mit welchen Übertragungsraten im LAN man bei einem Raspbery Pi B+ rechnen kann und ob die Tools unseren Praxistest überstehen.

Versuchsaufbau

Um ownCloud und Seafile sinnvoll und realistisch vergleichen zu können, haben wir beide Tools auf einem Raspberry Pi B+ mit einer Class 10 SD Karte installiert. Bei Seafile haben wir die Version 4.0.1 und bei ownCloud die Version 7.0.4 installiert. Als Webserver nutzen wir den ressourcensparenden nginx mit einem selbst erzeugten HTTPS Zertifikat. Für den Performancetest der beiden Systeme synchronisieren wir zum einen die ISO-Datei von crunchbang Linux (775 MB) und zum anderen 228 Fotos mit 529 Megabyte. Übertragen werden die Daten über ein kabelgebundenes Gigabit Netzwerk von einem Ubuntu Linux Notebook. Neben der reinen Übertragungsgeschwindigkeit interessierte uns natürlich auch die CPU- und RAM-Auslastung des Raspberry PI.

Folgende Tests haben wir durchgeführt:

  1. Upload- und Downloadgeschwindigkeit von ownCloud bei 228 Fotos mit 529 MB
  2. Upload- und Downloadgeschwindigkeit von Seafile bei 228 Fotos mit 529 MB
  3. Upload- und Downloadgeschwindigkeit von ownCloud bei einer 775 MB großen ISO Datei
  4. Upload- und Downloadgeschwindigkeit von Seafile bei einer 775 MB großen ISO Datei

Natürlich ist uns bewußt, dass der Raspberry Pi B+ keine performante Hardware besitzt. Der LAN Anschluß wird intern über USB angeschlossen, so dass man hier maximal 5-6 MB pro Sekunde erreichen kann. Um dem 700 Mhz Prozessor noch etwas mehr Leistung zu entlocken nutzen wir die eingebaute Übertackungsfunktion von raspi-config. Wir wählen die Einstellung “Medium” um die CPU mit 900 Mhz zu tacken.

ownCloud Performance Test: Fotos

Unser erster Eindruck: ownCloud lässt sich Zeit. Die Synchronisation von 228 Fotos vom Notebook zum Raspberry Pi dauert 17 Minuten und 56 Sek. Das sind in Summe 1076 Sekunden und entsprechen einer effektiven Übertragungsrate von 0,5 MB pro Sekunde. Wir kopieren anschließend die Ordner mit den Fotos auf dem Raspberry Pi in ein neues Verzeichnis und stoßen die Synchronisation erneut an. Der Download zurück zum Notebook dauert unwesentlich kürzer und ist in 17 Minuten und 10 Sekunden erledigt. Auch das entspricht einer effektiven Übertragungsgeschwindigkeit von 0,5 MB/sec. Was uns persönlich sehr verwundert ist die Tatsache, dass das Aktivitätenprotokoll bei vielen Dateien einen “Internal Server Error” ausgibt. Die Dateien kommen jedoch auf dem Server an und können auch über die Weboberfläche von ownCloud angezeigt und runtergeladen werden. Dementsprechend haben wir nicht weiter geforscht, ob dieses Verhalten Auswirkung auf die Performance hat.

ownCloud Performance

Seafile Performance Test: Fotos

Seafile geizt mit den gelieferten Informationen. Die Applikation auf unserem Notebook zeigt uns zwar, dass gerade synchronisiert wird, jedoch zeigt der prozentuale Downloadfortschritt nicht den Gesamtfortschritt sondern jeweils nur aktuell synchronisierte Datei. Trotzdem sind wir positiv überrascht, dass nach 3 Minuten und 28 Sekunden der Upload auf den Server abgeschlossen ist. Dies entspricht einer Geschwindigkeit von 2,5 MB/sek. Wir kopieren über die Weboberfläche von Seafile den Ordner und synchronisieren die Dateien zurück zum Notebook. Nach 175 Sekunden liegen die Bilder in doppelter Ausführung auf unserem Notebook. Durchschnittlich sind das 3 MB/sek. Da die Vorschaubilder sofort angezeigt werden, verzichten wir auf weitere Qualitätsprüfungen.

ownCloud Performance Test: ISO-Datei

ownCloud begint fleißig mit dem Upload der 775 MB großen ISO Datei. Derweil holen wir uns uns einen frischen Kaffee und verfolgen dann gebannt wie die Prozentzahlen ansteigen. Dann nach 15 Minuten die große Überraschung. Die Synchronisation springt plötzlich auf 100% und präsentiert uns einen “server timeout” in der Aktivitätenübersicht. Mit dem Linux Befehl “md5sum” prüfen wir, ob die Datei richtig übertragen wurde und stellen fest, dass die Datei nicht vollständig übertragen wurde. Die Größe stimmt, aber die Checksumme hat sich verändert. Wir brechen die Synchronisation ab und ersparen uns den Download der ISO-Datei um die Downloadgeschwindigkeit zu messen.

Seafile Performance Test: ISO-Datei

Die Synchronisation der ISO-Datei verläuft bei Seafile ohne große Aufregung. Der Upload ist in 6 Min. 10 Sekunden erledigt. Der Download dauert 4 Min. und 18 Sekunden. Dies entspricht einem Upload von 2,1 MB/sek. und einem Download von 3 MB/sek. Per “md5sum” Befehl auf dem Linux Notebook prüfen wir, ob die Prüfsummen identisch sind. Die Prüfsummen sind identisch und somit der Test erfolgreich.

Fazit

Ehrlich gesagt verstehen wir den Hype um ownCloud nicht. Auch in der Version 7 habe ich den Eindruck, dass ownCloud auf einem Raspberry Pi nicht rund läuft und die Performance einfach nicht stimmt. Die Übertragungsraten sind deutlich geringer als bei Seafile, es werden Fehler in der Aktivitenübersicht angezeigt, obwohl die Fotos richtig übertragen werden. Die große ISO Datei konnte nicht erfolgreich gespeichert werden. Das Log der Weboberfläche hilft leider nicht weiter.

Performance ownCloud vs Seafile

AktivitätownCloudSeafile
Fotos Upload0,5 MB/sec.2,5 MB/sec.
Fotos Download0,5 MB/sec.3,0 MB/sec.
ISO Uploadfehlgeschlagen2,1 MB/sec.
ISO Downloadnicht getestet3,0 MB/sec.

ownCloud ist im lokalen Netzwerk nicht so performant wie Seafile. Trotzdem ist die durchschnittliche CPU Auslastung bei ownCloud deutlich höher. ownCloud erzeugt mit mehreren “php-fpm” Prozessen fast durchgehend 70-80% CPU-Auslastung, wohingegen Seafile mit einem Prozess auf 30-60% CPU-Auslastung kommt. Dies wäre alles zu verschmerzen, wenn die Synchronisation sauber arbeiten würde. Bei uns entsteht jedoch eher der Eindruck, dass ownCloud mehr Wert darauf legt neue Features zu entwickeln anstatt die Basisfähigkeiten und die Performance konsequent zu verbessern.

Dieser Test wurde zwar nicht unter Laborbedingungen durchgeführt, ist jedoch mit Sicherheit sehr nah an den tagtäglichen Bedürfnissen der Anwender. Uns bestärkt dieser Test, dass wir beim ionas-Server, der ersten privaten Cloud für Jedermann auf Seafile und Radicale (Termin- und Kontaktsynchronisation) gesetzt haben und der ionas-Server somit die perfekte Dropbox-Alternative ist.

geschrieben von

Christoph Dyllick-Brenzinger

Christoph ist Gründer und Chefentwickler von datamate. Er ist ein absoluter Linux-Fan und hat schon früh seine Leidenschaft für Technik und Programmierung entdeckt. Seine langjährige Erfahrung als Unternehmensberater spürt man regelmäßig, wenn er nach optimalen Lösungen für die Kunden sucht. Wenn er nicht gerade den Tennisplatz unsicher macht oder bei Overwatch sein Liga-Ranking verbessert, verbringt Christoph seine Freizeit mit seiner Frau und seinen drei Kindern.