Hallo,
ich habe ownCloud 7 auf einer Seagate Goflex Net installiert und wollte von meinen Erfahrungen mit der Software und der Performance auf der Hardware berichten. Es ist kein Geheimnis, dass ownCloud auf der Kirkwood-Plattform kein "Renner" ist, aber mich interessiert hier auch noch das mögliche Optimierungspotential. Ich habe schon ein paar Änderungen am PHP-Code vorgenommen, um die Galerie-App von der Geschwindigkeit zu optimieren. Es gibt dort ggf. noch mehr Optimierungsmöglichkeiten.
Erstmal grundlegende Infos zum System:
Hardware:
- Seagate Goflex Net mit Marvell Kirkwood Prozessor 1.2 Ghz und 128 MB RAM (http://archlinuxarm.org/platforms/armv5/seagate-goflex-net)
- Festplatte: Seagate GoFlex Slim 500GB, USB 2.0 (Nettes Gehäuse, in Goflex-Slot einsteckbar, aber wackelt, da "slim" - gekauft, weil es optisch keine nackte Festplatte sein soll, das das System nicht bei mir zu Hause steht)
Software:
- Debian Wheezy (rootfs von bodhi: http://forum.doozan.com/read.php?2,12096) mit Kernel 3.15 (Pakete von bodhi)
- Neuestes U-Boot von bodhi (bootet von ext4: http://forum.doozan.com/read.php?3,12381)
- Stock-Debian-Pakete (mit Backports): Nginx Webserver 1.2.1, PHP-FPM (PHP Version 5.4.4-14+deb7u14), Mysql-Server 5.5.38
- ownCloud 7.0.2 über deb-Pakete aus ownCloud-Repo installiert
- Performance-Optimierungs-Tipps sind im Einsatz: http://forum.owncloud.org/viewtopic.php?f=8&t=10692
Heutzutage würde ich keine unbedingte Kaufempfehlung mehr aussprechen für diese Hardware (Goflex Net), aber ich habe sie 2011 gekauft und will die vorhandene Hardware nutzen. Wer heute neu kauft, findet schnellere ARM-Platinen im Angebot. Wobei ein Raspberry Pi von der CPU nicht besonders viel schneller sein dürfte. Trotzdem ist die Goflex Net nicht zu verachten: Das Linux-System läuft bisher unheimlich stabil, egal wie die Auslastung ist. Es ist immer zuverlässig via SSH erreichbar gewesen (wichtig, denn es steht nicht bei mir daheim, aber daheim habe ich noch eine zweite Goflex Net, wo andere Services laufen. Fazit: Lahm, aber sehr zuverlässig, läuft ohne Stromausfall für Dekaden).
Die Hardware-Plattform ist so lahm, dass man wahrscheinlich nur ein bis zwei aktive ownCloud-User gleichzeitig drauflassen kann, was aber in vielen Situationen reichen sollte. Wäre es eine Dual-Core-CPU, würde es wohl schon besser laufen. RAM ist mit 128 MB sehr knapp, aber wenn man ressourcenschonend programmiert und wenig User parallel ownCloud nutzen, kann man damit leben. Viele ownCloud-Funktionen funktionieren nach meinem Geschmack schnell genug (=erträglich langsam).
Selbst wenn der Upstream des Internet-Anschlusses groß ist, wäre es undenkbar, die Urlaubsfotos für alle Kollegen gleichzeitig zu sharen, wenn dann alle Kollegen gleichzeitig das Share aufrufen wollen -> DOS-Attacke)
CPU-Bottleneck: Bild-Kovertierungen für Thumbnails und Galerie
Katastrophal ist die Performance beim Thumbnail-Generieren (wenn man googelt: wurde schon von vielen Nutzern angesprochen, gilt auch für Raspberry Pi). Für die Datei-Ansicht kann man die Thumbnail-Generierung abschalten in der Konfiguration, jedoch hilft einem das in der Galerie nicht weiter, wenn man seine Digitalfotos dort hübsch ansehen möchte.
Für jedes Digitalfoto werden mindestens zwei Thumbnails angelegt (200px * 200px square cropped + 200px * x) und wenn ein Foto an sich nicht korrekt rotiert ist (EXIF-Info für Rotation sagt: "Dreh Dich mal besser"), dann wird das Bild vor jeder Auslieferung nochmal rotiert. Bei Digitalfotos von einer SLR mit Dateigrößen von 6-7 MB ist das unerträglich lahm. Das Rotieren und Thumbnail-Generieren braucht dann schonmal länger als eine Minute pro Bild und Bearbeitungsschritt. Hat man eine Bildergalerie mit 50 Fotos, hat man damit die Kiste für die nächste Zeit komplett lahmgelegt. Thumbnails werden, wenn nicht vorhanden, on-the-fly dann generiert, wenn man eine Galerie aufruft, um sich die Fotos anzuschauen.
Ansonsten ist ownCloud 7 bisher sehr nützlich und macht Spaß
Abgesehen von der Galerie und den Thumbnails laufen viele nette ownCloud-Funktionen jedoch auch erträglich langsam auf dieser Plattform. Genial finde ich die News-App. Kontakte-Sync läuft auch ganz gut. Kalender-Sync noch ungetestet.
Und der PHP-Quellcode der ownCloud-Galerie kann durchaus noch auf eine bessere Performance getrimmt werden. Da kann man noch was reißen.
Habt Ihr auch mit ownCloud 7 schon was gemacht auf ARM? Würde mich über Eure Erfahrungen freuen.
Viele Grüße
hepi