]> git.mxchange.org Git - friendica.git/blob - doc/de/Improve-Performance.md
fe99123342973871ae134bc7aec0664596457659
[friendica.git] / doc / de / Improve-Performance.md
1 How-to: Performance verbessern
2 ==========
3
4 * [Zur Startseite der Hilfe](help)
5
6 Eine kleine Anleitung, um die Performance einer Friendica-Seite zu verbessern.
7
8 **Vorab:**
9
10 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.
11
12 Systemeinstellungen
13 ---------------
14
15 Geh auf /admin/site in deinem System und ändere die folgenden Werte: 
16
17     setze "Qualität des JPEG Bildes" auf 50.
18
19 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.
20
21     setze "Intervall zum Vervollständigen von OStatus Unterhaltungen" auf "niemals"
22
23 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.
24
25     setze "Pfad für die Sperrdatei" auf einen Ordner außerhalb deines Stammverzeichnisses deines Servers.
26
27 Sperrdateien sorgen dafür, dass Hintergrundprozesse nicht parallel ablaufen.
28
29 Als Beispiel: Es kann passieren, dass die poller.php länger als erwartet läuft. Ohne Sperrdatei kann es passieren, dass mehrere Instanzen der poller.php zur gleichen Zeit laufen. Dies würde das System verlangsamen und Einfluss auf die maximale Anzahl an Prozessen und Datenbankverbindungen nehmen.
30
31 Bitte definiere einen kompletten Pfad, auf den der Server einen Schreibzugriff hat. Wenn deine Seite unter "/var/www/namederseite/htdocs/" liegt, dann kannst du z.B. einen Ordner unter "/var/www/sitename/temp/" erstellen.
32
33     setze "Nutze MySQL full text engine".
34
35 Wenn du MyISAM (Standardeinstellung) nutzt, dann beschleunigt dies die Suche.
36
37     setze "Pfad zum Eintrag Cache" auf einen leeren Ordner außerhalb deines Stammverzeichnisses.
38
39 Verarbeiteter BBCode und einige externe Bilder werden hier gespeichert. BBCode verarbeiten ist ein zeitintensiver Prozess, der zudem eine hohe CPU-Leistung erfordert. 
40
41 Du kannst den gleichen Ordner nutzen, den du für die Sperrdatei genutzt hast. 
42
43 **Warnung!**
44
45 Der Ordner für den Eintrag-Cache wird regelmäßig geleert. Jede Datei, die die Cache-Dauer überschreitet, wird gelöscht. **Wenn du versehentlich den Cache-Pfad auf dein Stammverzeichnis legst, dann würde dir dies das gesamte Stammverzeichnis löschen.** 
46
47 Prüfe also doppelt, dass der gewählte Ordner nur temporäre Dateien enthält, die jederzeit gelöscht werden können. 
48
49 Plugins
50 --------
51
52 Aktiviere die folgenden Plugins: 
53
54     Alternate Pagination
55     Privacy Image Cache
56     rendertime
57
58 ###Alternate Pagination
59
60 **Beschreibung**
61
62 Dieses Plugin reduziert die Ladezeit der Datenbank massiv. Nachteil: Du kannst nicht mehr die Anzahl aller Seiten sehen. 
63
64 **Einrichtung**
65
66 Gehe auf admin/plugins/altpager und wähle "global".
67
68 ###Privacy Image Cache
69
70 **Beschreibung**
71
72 Dieses Plugin lädt externe Inhalte vor und speichert sie im Cache. Neben der Beschleunigung der Seite dient es so außerdem dazu, die Privatssphäre der Nutzer zu schützen, da eingebettete Inhalte so von deiner Seite aus geladen werden und nicht von externen Quellen (die deine IP-Adresse ermitteln könnten). 
73
74 Ebenso hilft es bei Inhalten, die nur langsam laden oder nicht immer online sind. 
75
76 **Einrichtung**
77
78 Bitte erstelle einen Ordner namens "privacy_image_cache" und "photo" in deinem Stammverzeichnis. Wenn diese Ordner existieren, dann werden die zwischengespeicherten Inhalte dort abgelegt. Dies hat den großen Vorteil, dass der Server die Dateien direkt von dort bezieht. 
79
80 ###rendertime
81
82 **Beschreibung**
83
84 Dieses Plugin beschleunigt dein System nicht, aber es hilft dabei, die Flaschenhälse zu ermitteln. 
85
86 Wenn es aktiviert ist, dann siehst du Werte wie die folgenden auf jeder deiner Seiten:
87
88     Performance: Database: 0.244, Network: 0.002, Rendering: 0.044, Parser: 0.001, I/O: 0.021, Other: 0.237, Total: 0.548
89
90     Database: Dies ist die Zeit für alle Datenbankabfragen
91     Network: Zeit, die benötigt wird, um Inhalte von externen Seiten vorzuladen
92     Rendering: Zeit, die zum rendern des Themas benötigt wird
93     Parser: Die Zeit, die der BBCode-Parser benötigt, um die Ausgabe der Seite zu erstellen
94     I/O: Zeit, die der lokale Dateizugriff benötigt
95     Others: alles andere :)
96     Total: Die Summe aller genannten Werte
97
98 Diese Werte zeigen deine Performance-Probleme.
99
100 Webserver
101 ----------
102
103 Wenn du einen Apache-Webserver nutzt, aktiviere bitte die folgenden Module: 
104
105 ###Cache-Control
106
107 **Beschreibung**
108
109 Dieses Modul weist den Client an, den Inhalt statischer Dateien zu speichern, um diese nicht immer wieder neu laden zu müssen. 
110
111 Aktiviere das Modul "mod_expires", indem du "a2enmod expires" als root eingibst.
112
113 Füge die folgenden Zeilen in die Apache-Konfiguration deiner Seite im "directory"-Bereich ein. 
114
115 ExpiresActive on ExpiresDefault "access plus 1 week"
116
117 Weitere Informationen findest du hier: http://httpd.apache.org/docs/2.2/mod/mod_expires.html.
118
119 ###Compress content
120
121 **Beschreibung**
122
123 Dieses Modul komprimiert den Datenverkehr (Traffic) zwischen dem Webserver und dem Client. 
124
125 Aktiviere das Modul "mod_deflate" durch die Eingabe "a2enmod deflate" als root.
126
127 Weitere Informationen findest du hier: http://httpd.apache.org/docs/2.2/mod/mod_deflate.html
128
129
130 ###PHP
131
132 **FCGI**
133
134 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. 
135 Nutze externe Dokumente, um eine detailiertere Erklärung für die Einrichtung eines Systems auf FCGI-Basis zu erhalten.
136
137 **APC**
138
139 APC ist ein Zwischenspeicher für die Verarbeitung des Befehlscodes. Es beschleunigt die Verarbeitung des PHP-Codes.
140
141 Wenn APC aktiviert ist, dann nutzt Friendica dies, um Konfigurationseinstellungen für verschiedene Anfragen zwischenzuspeichern. Dies beschleunigt die Reaktionszeit der Seite.
142
143 ###Database
144
145 Es gibt Skripte wie [tuning-primer.sh](http://www.day32.com/MySQL/) und [mysqltuner.pl](http://mysqltuner.pl), die den Datenbankserver analysieren und Hinweise darauf geben, welche Werte verändert werden könnten. 
146  
147 Aktivere hierfür die "Slow query" Log-Datei, um Performanceprobleme zu erkennen.