OwnCloud: Performance-Tuning für OwnCloud 8.x

Im folgenden habe ich die wichtigsten Tipps und Tricks zusammen getragen, die OwnCloud 8.x auch auf schwacher Hardware zum Rennen bringen. Dieser Artikel bezieht sich ausschließlich auf OwnCloud 8.x, zu OwnCloud 9.x bitte hier weiterlesen. Mein Fokus liegt dabei auf dem Cubietruck bzw. Raspberry PI2. Die Liste ist selbstverständlich unvollständig – ich freue mich immer über Ergänzungen und Korrekturen in den Kommentaren. Ich werde die Liste in den nächsten Wochen weiter pflegen und auf neuere OwnCloud-Versionen erweitern.
„OwnCloud: Performance-Tuning für OwnCloud 8.x“ weiterlesen

Nginx: Statische Inhalte bereits vorkomprimiert direkt ausliefern

HTML-Seiten und andere gut komprimierbare Inhalte in komprimierter Form auszuliefern, spart Bandbreite und erhöht die Performance… üblicherweise. Leider gilt dieser Grundsatz nicht für schwache Hardware wie Embedded-ARM-Boards wie den Cubietruck, Raspberry-PI oder Banana-PI. Hier ist es sinnvoll die auszuliefernden Dateien bereits komprimiert auf der Platte abzulegen und so die Prozessorleistung nicht für die Kompression zu verschwenden.
„Nginx: Statische Inhalte bereits vorkomprimiert direkt ausliefern“ weiterlesen

OwnCloud 5: Performance-Tuning auf dem Raspberry PI

Wenn alle Seiten der OwnCloud (getestet mit Version 5.0.12) aus dem Cache des Browsers geladen werden können, lässt es sich auf dem Raspberry PI recht brauchbar arbeiten, speziell, wenn man z.B. schon Nginx und static-gzip einsetzt. Dennoch benötigen die Seiten von Zeit zu Zeit signifikant länger als 10 Sekunden zum Laden. Dies liegt an der sehr CPU-Intensiven Minimizer-Funktion für Core.js. Das Deaktivieren des Minimizers vergrößert zwar die ausgelieferte Datei um ca. 20%, reduziert jedoch seine Ladezeit um etwa 90%.

„OwnCloud 5: Performance-Tuning auf dem Raspberry PI“ weiterlesen

Filesystem-Tuning: ext4

Das ext4-Dateisystem bietet eine hohe Datensicherheit und zudem eine ansprechende Performance mit den Standardeinstellungen – zumindest auf Desktopsystemen.

Möchte man ext4 z.B. auf einem Raspberry-Pi ensetzen, ist es sinnvoll die Standardeinstellungen anzupassen. Hier sind ein paar Tipps, die je nach Einsatzzweck die Performance oder Kapazität des Dateisystems deutlich steigern können:

  • Wird die Partition als Datenpartition und nicht als z.B. Root-Filesystem verwendet, ist es sinnvoll bei großen Datenträgern die Kapazität, die für den Root-User reserviert wird, zu limitieren. Beim Erstellen des Dateisystems wird dabei der Parameter „-m“ gesetzt. Standard sind 5 (Angabe in Prozent). Bei Partitionen > 10GB ist dieser Wert nicht mehr sinnvoll und kann getrost auf ein Prozent limitiert werden.
  • Ist der schnelle Dateizugriff wichtiger als die Kopier- oder Löschgeschwindigkeit, lohnt sich der Einsatz eines Verzeichnis-Indexes. Sinnvoll ist dies z.B. wenn viele kleinere Dateien auf der Platte liegen, die vornehmlich gelesen (bzw. erst einmal gefunden) werden müssen. Ein prominentes Beispiel hierfür ist das /usr/portage-Verzeichnis bei Gentoo-Linux. Der Verzeichnis-Index wird bei ausgehangenem Dateisystem via „tune2fs -O dir_index“ /dev/XXX“ und anschließendes „e2fsck -fD /dev/XXX“ hinzugefügt bzw. beim Erstellen des Dateisystems „-O dir_index“ angegeben.
  • In den Standardeinstellungen werden auch die letzten Lesezugriffe in den Inodes gespeichert. Dies ist oft nicht sinnvoll. Bei den Mount-Optionen lohnt es sich somit „noatime“ anzugeben. Dies ist insbesondere auf SSDs oder anderen Flash-Speichern sinnvoll.