3.5 KiB
How-to: Performance verbessern
Eine kleine Anleitung, um die Performance einer Friendica-Seite zu verbessern.
Vorab:
Wenn du Fragen zu den folgenden Anweisungen oder zu anderen Themen hast, dann kannst du jederzeit beim Friendica-Support unter https://helpers.pyxis.uberspace.de/profile/helpers nachfragen.
Systemeinstellungen
Geh auf /admin/site in deinem System und ändere die folgenden Werte:
setze "Qualität des JPEG Bildes" auf 50.
Dieser Wert reduziert die Daten, die vom Server an den Client geschickt werden. 50 ist ein Wert, der die Bildqualität nicht zu stark beeinflusst.
setze "Intervall zum Vervollständigen von OStatus Unterhaltungen" auf "niemals"
Wenn du viele OStatus-Kontakte hast, dann kann die Vervollständigung von Unterhaltungen sehr zeitraubend sein. Der Nachteil: Du siehst nicht jede Antwort einer OStatus-Unterhaltung. Aus diesem Grund ist die Option "Beim Empfang von Nachrichten" in der Regel ein guter Kompromiss.
setze "Nutze MySQL full text engine".
Wenn du MyISAM (Standardeinstellung) oder InnoDB mit MariaDB 10 nutzt, dann beschleunigt dies die Suche.
Plugins
Aktiviere die folgenden Plugins:
rendertime
###rendertime
Beschreibung
Dieses Plugin beschleunigt dein System nicht, aber es hilft dabei, die Flaschenhälse zu ermitteln.
Wenn es aktiviert ist, dann siehst du Werte wie die folgenden auf jeder deiner Seiten:
Performance: Database: 0.244, Network: 0.002, Rendering: 0.044, Parser: 0.001, I/O: 0.021, Other: 0.237, Total: 0.548
Database: Dies ist die Zeit für alle Datenbankabfragen
Network: Zeit, die benötigt wird, um Inhalte von externen Seiten vorzuladen
Rendering: Zeit, die zum rendern des Themas benötigt wird
Parser: Die Zeit, die der BBCode-Parser benötigt, um die Ausgabe der Seite zu erstellen
I/O: Zeit, die der lokale Dateizugriff benötigt
Others: alles andere :)
Total: Die Summe aller genannten Werte
Diese Werte zeigen deine Performance-Probleme.
Webserver
Wenn du einen Apache-Webserver nutzt, aktiviere bitte die folgenden Module:
###Cache-Control
Beschreibung
Dieses Modul weist den Client an, den Inhalt statischer Dateien zu speichern, um diese nicht immer wieder neu laden zu müssen.
Aktiviere das Modul "mod_expires", indem du "a2enmod expires" als root eingibst.
Füge die folgenden Zeilen in die Apache-Konfiguration deiner Seite im "directory"-Bereich ein.
ExpiresActive on ExpiresDefault "access plus 1 week"
Weitere Informationen findest du hier: http://httpd.apache.org/docs/2.2/mod/mod_expires.html.
###Compress content
Beschreibung
Dieses Modul komprimiert den Datenverkehr (Traffic) zwischen dem Webserver und dem Client.
Aktiviere das Modul "mod_deflate" durch die Eingabe "a2enmod deflate" als root.
Weitere Informationen findest du hier: http://httpd.apache.org/docs/2.2/mod/mod_deflate.html
###PHP
FCGI
Wenn du Apache nutzt, dann denk darüber nach, FCGI zu nutzen. Wenn du eine Debian-basierte Distribution nutzt, dann wirst du die Pakete "php5-cgi" und "libapache2-mod-fcgid" benötigen. Nutze externe Dokumente, um eine detailiertere Erklärung für die Einrichtung eines Systems auf FCGI-Basis zu erhalten.
###Database
Es gibt Skripte wie tuning-primer.sh und mysqltuner.pl, die den Datenbankserver analysieren und Hinweise darauf geben, welche Werte verändert werden könnten.
Aktivere hierfür die "Slow query" Log-Datei, um Performanceprobleme zu erkennen.