Auch wenn ownCloud nunmehr in einer sehr zufriedenstellenden Geschwindigkeit auf dem HP Proliant MicroServer läuft, bleiben einige kleine Schritte zu tun, um die Performance weiter zu optimieren.
Im Netz findet ihr diverse Tuningtipps. Auf 3 davon habe ich mehrfach in Artikeln hier auf dem Blog hingewiesen. Da sich aber nunmehr die Umgebung meiner Installation (wieder einmal) grundlegend geändert hat, möchte ich die Umsetzung dieser Schritte für eben diese Umgebung darstellen – nicht zuletzt um später selbst noch einmal nachlesen zu können).
Schritt 1 – Cronjobs
Im Administrationshandbuch von ownCloud 6 findet man zu Cronjobs folgendes:
“Owncloud benötigt verschiedene automatisch ausgeführte Hintergrundjobs. Es gibt 3 Methoden sie zu realisieren. Standardweg ist AJAX und der empfohlene Weg ist cron.”
Die Verwendung des Cron-Daemons des zugrundeliegenden Systems wird empfohlen, da auf diesem Wege eventuell vorhandene Restriktionen des verwendeten Web-Servers nicht wirksam werden.
Die erforderlichen Schritte sind recht einfach umzusetzen. Zuerst wird im Administrationsbereich von ownCloud die Einstellung von AJAX auf Cron geändert. Das ist mit einem Mausklick getan.
Nunmehr muss im System ein Cron-Job definiert werden, der die im ownCloud-Verzeichnis liegende cron.php in regelmäßigen Abständen aufruft. Im Administrationshandbuch wird empfohlen, die cron.php alle 15 Minuten aufzurufen. Wie immer gibt es natürlich die Möglichkeit, den entsprechenden Job per Konsole zu erstellen, ich nutze aber gern und häufig Webmin für solche Aufgaben. In Webmin finden wir im Menu System den Punkt “Geplante Aufträge (Cron)”. Auf der damit aufgerufenen Seite werden bereits bestehende Cron-Jobs angezeigt die ich bearbeiten, aktivieren, deaktivieren oder löschen kann. Hier kann ich aber auch neue Aufträge definieren. Im Bild seht ihr die Einstellungen für unseren geplanten Cron-Job: der Nutzer www-data (Standardbenutzer des Apache-Webservers) ruft alle 15 Minuten die Datei cron.php im Owncloudverzeichnis über den Befehl php –f /var/www/owncloud/cron.php auf. Speichern und aktivieren – fertig!
Schritt 2 – Caching aktivieren
Eine deutliche Beschleunigung des Webinterfaces von ownCloud in der Vergangenheit brachte bei mir die Installation des php-Cachingmoduls. Zur Installation bevorzuge ich dieses Mal die Konsole: als root
apt-get install php-apc
und das Modul wird installiert. Zusammen mit dem Modul wird ein Skript installiert, dass über den Zusatnd des Moduls und dem Cacheverhalten aufklärt. Im Verzeichnis /usr/share/doc/php-apc liegt die Datei apc.php. Durch das Setzen eines Links auf die Datei im Verzeichnis unseres ownCloud-Servers, können wir die entsprechenden Informationen direkt über unseren Webserver abrufen. Mithilfe des Datei-Managers in Webmin (im Menu unter “Sonstiges” zu finden) ist der Link schnell definiert und per http://IP-Adresse/owncloud/apc.php aufrufbar. Einen Auszug der Informationen seht ihr im Bild.
Ebenfalls sehr hilfreich, wenn auch nicht zum pimpen von ownCloud erforderlich, ist die Ansicht der php-Informationen. Dazu wird im Vereichnis /var/www/owncloud eine Datei phpinfo.php erzeugt, die lediglich eine Zeile enthält: <? phpinfo(); ?>. Per http://IP_Adresse/owncloud/phpinfo.php aufgerufen werden wir über php-Version unseres Systems, geladene Module und einiges anderes informiert.
Schritt 3 – nicht benötigte Apps deaktivieren
Selbsterklärend, trotzdem nicht unwichtig. Wer keine Musik oder Bilder auf seiner ownCloud-Instanz speichert, benötigt auch die entsprechenden Appsnicht. Da sich die Anwendungen einfach per Mausklick aktivieren oder deaktivieren lassen, verbaut man sich auch zukünftig nicht die Nutzung der entsprechenden Anwendungen. Also alles was nicht unmittelbar benötigt bzw. genutzt wird – deaktivieren.
Für die Zukunft
Im Moment läuft ownCloud bei mir auf Basis von SQLite. Eine Migration auf MySQL (bzw. MariaDB) scheint derzeit nichtmöglich zu sein. Da ich allein auf meinen ownCloud-Server zugreife, bisher auch kein Problem. In Mehrbenutzerumgebungen empfiehlt ownCloud.org jedoch MySQL. Bei Bedarf hätte ich gern die Möglichkeit der Migration. Die Programmierer scheinen fieberhaft an einem Migrationsskript zu arbeiten, ohne bisher zu einem zufriedenstellenden Ergebnis gekommen zu sein …
Üben wir uns ein wenig in Geduld.
Vielen Dank für den Artikel. Manchmal Webcron Service wie http://www.easycron.com mit vielen erweiterten Funktionen gebaut ist praktisch für den Einsatz und kraftvoll.
Hi Jim,
thank you for your comment. I think the best way is cron from system. The webcron is surely possible …
Greatings Karsten