Boost Joomla Performance: Unterschied zwischen den Versionen
imported>Bkiss |
imported>Bkiss |
||
(18 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | == Einleitung == | ||
'''Achtung: Die unten angegebenen Pfade gelten nur für DSM 4.x''' | |||
Um die Performance von einer Joomla-Installation auf einer Synology Diskstation signifikant zu verbessern, sind die Caches in php und MySQL einzurichten bzw. zu vergrößern. | |||
Umgebung, auf der dies erfolgreich umgesetzt wurde: | Umgebung, auf der dies erfolgreich umgesetzt wurde: | ||
* DS1512+, DSM 4.0-2228, | * DS1512+, DSM 4.0-2228, 3 GB RAM | ||
* Joomla 2.5.6 direkt von der Joomla Homepage runtergeladen und in einem Unterverzeichnis von /web installiert | * Joomla 2.5.6 direkt von der Joomla Homepage runtergeladen und in einem Unterverzeichnis von /web installiert | ||
'''Hierzu sind die folgenden Schritte (auf eigenes Risiko) durchzuführen:''' | |||
== PHP-Cache in DSM aktivieren == | |||
Falls nicht bereits geschehen, so kann der PHP-Cache in DSM unter Systemsteuerung/Webdienste/PHP-Einstellung aktiviert werden. | |||
== Terminaldienst aktivieren == | |||
SSH bzw. Telnet-Dienst in DSM unter | SSH bzw. Telnet-Dienst in DSM unter Systemsteuerung/Terminal aktivieren, um die weiteren Schritte auf Konsolenebene (Anmeldung mit dem User "root") durchzuführen. | ||
== Anpassung von “php.ini” == | |||
Zur Anpassung der php-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden: | Zur Anpassung der php-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden: | ||
=== Schritt 1: Datei "php.ini" mit dem vi-Editor aufrufen=== | |||
vi /usr/syno/etc/php.ini | vi /usr/syno/etc/php.ini | ||
Zeile 36: | Zeile 37: | ||
=== Schritt 2: folgende Anpassungen in der Datei "php.ini" durchführen === | |||
''Anmerkung(1): shm_size Anpassungen (in MB) hängen von der RAM-Größe in deiner DS ab => ggf. verkleinern!'' | ''Anmerkung (1): shm_size Anpassungen (in MB) hängen von der RAM-Größe in deiner DS ab => ggf. verkleinern!'' | ||
''Anmerkung(2): Die Abschnitte [apc] und [eaccelerator] findest du am Ende der Datei "php.ini"'' | ''Anmerkung (2): Die Abschnitte [apc] und [eaccelerator] findest du am Ende der Datei "php.ini"'' | ||
[apc] | [apc] | ||
Zeile 69: | Zeile 70: | ||
eaccelerator.compress_level = 9 | eaccelerator.compress_level = 9 | ||
== Anpassung von “my.cnf” == | |||
Zur Anpassung der MySQL-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden: | |||
=== | === Schritt 1: mySQL Server stoppen === | ||
/usr/syno/etc/rc.d/S21mysql.sh stop | |||
=== Schritt 2: Passende Vorlage für my.cnf (in Abhängigkeit der RAM-Größe der DS) auswählen === | |||
'' | ''Anmerkung(1): Es gibt die Vorlagen „my-huge.cnf " (für 1-2 GB RAM Systeme), „my-large.cnf" (für 512 MB RAM Systeme), „my-medium.cnf" (für 128 MB RAM Systeme).'' | ||
''Anmerkung(2): Falls bei dir bereits die Datei "my.cnf" existiert, so solltest du sie entweder vorher sichern oder darin die Werte von "query_cache_size" von 0 auf z.B. 32M erhöhen.'' | |||
cp /usr/syno/mysql/share/mysql/my-huge.cnf /etc/my.cnf | cp /usr/syno/mysql/share/mysql/my-huge.cnf /etc/my.cnf | ||
=== Schritt 3: Gegebenenfalls die Datei "my.cnf" nach deinen Bedürfnissen anpassen === | |||
vi /etc/my.cnf | |||
=== Schritt 4: MySQL Server neu starten === | |||
/usr/syno/etc/rc.d/S21mysql.sh restart | |||
== Regelmäßiger Reboot == | |||
Ich beobachte, dass nach einen Reboot Joomla besser läuft und die CPU Load niedriger ist. | |||
'' | ''Bitte um Feedback: Bitte meldet, welche Erfahrungen ihr gemacht habt. Wer möchte, kann&soll sie hier einpflegen.'' | ||
'' | |||
Update am 03.02.2014 von Bkiss: | |||
Nach einem Downgrade von 4 GB RAM auf 3 GB RAM erlebe ich keine Performanceeinbußen nach ein paar Tagen und muss nun auch nicht mehr täglich rebooten. Mittels des Benchmarktesting aus diesem Forum (DSBench.ZIP) konnte ich erkennen, dass es an einer Verlangsamung des Apache Webservers lag. Dies passiert nun mit 3 GB RAM nicht mehr) | |||
--[[Benutzer:Bkiss|Bkiss]] 17:48, 22. Aug. 2012 (CEST) | --[[Benutzer:Bkiss|Bkiss]] 17:48, 22. Aug. 2012 (CEST) |
Aktuelle Version vom 11. März 2014, 21:05 Uhr
Einleitung
Achtung: Die unten angegebenen Pfade gelten nur für DSM 4.x
Um die Performance von einer Joomla-Installation auf einer Synology Diskstation signifikant zu verbessern, sind die Caches in php und MySQL einzurichten bzw. zu vergrößern.
Umgebung, auf der dies erfolgreich umgesetzt wurde:
- DS1512+, DSM 4.0-2228, 3 GB RAM
- Joomla 2.5.6 direkt von der Joomla Homepage runtergeladen und in einem Unterverzeichnis von /web installiert
Hierzu sind die folgenden Schritte (auf eigenes Risiko) durchzuführen:
PHP-Cache in DSM aktivieren
Falls nicht bereits geschehen, so kann der PHP-Cache in DSM unter Systemsteuerung/Webdienste/PHP-Einstellung aktiviert werden.
Terminaldienst aktivieren
SSH bzw. Telnet-Dienst in DSM unter Systemsteuerung/Terminal aktivieren, um die weiteren Schritte auf Konsolenebene (Anmeldung mit dem User "root") durchzuführen.
Anpassung von “php.ini”
Zur Anpassung der php-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden:
Schritt 1: Datei "php.ini" mit dem vi-Editor aufrufen
vi /usr/syno/etc/php.ini
Zur Erinnerung an die vi-Bedienung:
· Verlassen ohne Speichern :q!
· Verlassen mit Speichern :wq
· In den Bearbeitungsmodus wechseln i
· Bearbeitungsmodus verlassen <ESC>Taste
Schritt 2: folgende Anpassungen in der Datei "php.ini" durchführen
Anmerkung (1): shm_size Anpassungen (in MB) hängen von der RAM-Größe in deiner DS ab => ggf. verkleinern!
Anmerkung (2): Die Abschnitte [apc] und [eaccelerator] findest du am Ende der Datei "php.ini"
[apc] ; APC Setting ; We now set "apc.enabled" in /usr/syno/etc/php/user-setting.ini ; apc.enabled = 1 apc.shm_size = 256 apc.shm_segments = 1 apc.ttl = 0 apc.user_ttl = 0 apc.num_files_hint = 1024 apc.mmap_file_mask = /var/spool/php/apc/apc.XXXXXX [eaccelerator] eaccelerator.shm_size = 256 ;The cache_dir is set in eaccelerator.c by using getenv("TMPDIR") eaccelerator.cache_dir = /var/spool/php/eaccelerator eaccelerator.enable = 1 eaccelerator.optimizer = 1 eaccelerator.check_mtime = 1 eaccelerator.debug = 0 eaccelerator.filter = eaccelerator.shm_max = 4M eaccelerator.shm_ttl = 0 eaccelerator.shm_prune_period = 0 eaccelerator.shm_only = 0 eaccelerator.compress = 1 eaccelerator.compress_level = 9
Anpassung von “my.cnf”
Zur Anpassung der MySQL-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden:
Schritt 1: mySQL Server stoppen
/usr/syno/etc/rc.d/S21mysql.sh stop
Schritt 2: Passende Vorlage für my.cnf (in Abhängigkeit der RAM-Größe der DS) auswählen
Anmerkung(1): Es gibt die Vorlagen „my-huge.cnf " (für 1-2 GB RAM Systeme), „my-large.cnf" (für 512 MB RAM Systeme), „my-medium.cnf" (für 128 MB RAM Systeme).
Anmerkung(2): Falls bei dir bereits die Datei "my.cnf" existiert, so solltest du sie entweder vorher sichern oder darin die Werte von "query_cache_size" von 0 auf z.B. 32M erhöhen.
cp /usr/syno/mysql/share/mysql/my-huge.cnf /etc/my.cnf
Schritt 3: Gegebenenfalls die Datei "my.cnf" nach deinen Bedürfnissen anpassen
vi /etc/my.cnf
Schritt 4: MySQL Server neu starten
/usr/syno/etc/rc.d/S21mysql.sh restart
Regelmäßiger Reboot
Ich beobachte, dass nach einen Reboot Joomla besser läuft und die CPU Load niedriger ist.
Bitte um Feedback: Bitte meldet, welche Erfahrungen ihr gemacht habt. Wer möchte, kann&soll sie hier einpflegen.
Update am 03.02.2014 von Bkiss: Nach einem Downgrade von 4 GB RAM auf 3 GB RAM erlebe ich keine Performanceeinbußen nach ein paar Tagen und muss nun auch nicht mehr täglich rebooten. Mittels des Benchmarktesting aus diesem Forum (DSBench.ZIP) konnte ich erkennen, dass es an einer Verlangsamung des Apache Webservers lag. Dies passiert nun mit 3 GB RAM nicht mehr)
--Bkiss 17:48, 22. Aug. 2012 (CEST)