Boost Joomla Performance: Unterschied zwischen den Versionen

Aus
(→‎Einleitung: typo + zusammengerückt)
(diverse Formatierung)
Zeile 4: Zeile 4:


Umgebung, auf der dies erfolgreich umgesetzt wurde:
Umgebung, auf der dies erfolgreich umgesetzt wurde:
* DS1512+, DSM 4.0-2228, 4GB RAM
* DS1512+, DSM 4.0-2228, 4 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:
'''Hierzu  sind die folgenden Schritte (auf eigenes Risiko) durchzuführen:'''


== PHP-Cache in DSM aktivieren ==
== PHP-Cache in DSM aktivieren ==


Falls nicht bereits geschehen, so kann der PHP-Cache in DSM unter Systemsteuerung/Webdienste/PHP-Einstellung aktiviert werden.
Falls nicht bereits geschehen, so kann der PHP-Cache in DSM unter Systemsteuerung/Webdienste/PHP-Einstellung aktiviert werden.


== Terminaldienst aktivieren ==
== Terminaldienst aktivieren ==


SSH bzw. Telnet-Dienst in DSM unter Systemsteurung/Terminal aktivieren, um die weiteren Schritte auf Konsolenebene (Anmeldung mit dem User "root") durchzuführen.
SSH bzw. Telnet-Dienst in DSM unter Systemsteurung/Terminal aktivieren, um die weiteren Schritte auf Konsolenebene (Anmeldung mit dem User "root") durchzuführen.


== Anpassung von “php.ini” ==
== Anpassung von “php.ini” ==
Zeile 23: Zeile 21:
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===
'''Schritt 1: Datei "php.ini" mit dem vi-Editor aufrufen''':


   vi /usr/syno/etc/php.ini  
   vi /usr/syno/etc/php.ini  
Zeile 39: Zeile 36:




'''Schritt 2: folgende Anpassungen in der Datei "php.ini" durchführen'''
=== 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!''
Zeile 71: Zeile 68:
   eaccelerator.compress = 1
   eaccelerator.compress = 1
   eaccelerator.compress_level = 9
   eaccelerator.compress_level = 9


== Anpassung von “my.cnf” ==
== Anpassung von “my.cnf” ==


Zur Anpassung der mySQL-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden:
Zur Anpassung der MySQL-Konfigurationsdatei müssen folgende Schritte in der Konsole durchgeführt werden:


 
=== Schritt 1: mySQL Server stoppen ===
'''Schritt 1: mySQL Server stoppen'''
   /usr/syno/etc/rc.d/S21mysql.sh stop
   /usr/syno/etc/rc.d/S21mysql.sh stop




'''Schritt 2: Eine passende Vorlage für my.cnf (in Abhängigkeit der RAM-Größe deiner Diskstation) auswählen'''
=== 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-2GB RAM Systeme), „my-large.cnf" (für 512MB RAM Systeme), „my-medium.cnf" (für 128MB RAM Systeme).''
''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" bereits existiert, so solltest du sie entweder vorher sichern oder darin die Werte von "query_cache_size" von 0 auf z.B. 32000000 erhöhen.''
''Anmerkung(2): Falls bei dir bereits die  Datei "my.cnf" bereits existiert, so solltest du sie entweder vorher sichern oder darin die Werte von "query_cache_size" von 0 auf z.B. 32000000 erhöhen.''
Zeile 90: Zeile 85:
   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 ===
'''Schritt 3: Gegebenenfalls die Datei "my.cnf" nach deinen Bedürfnissen anpassen'''
   vi /etc/my.cnf
   vi /etc/my.cnf


 
=== Schritt 4: MySQL Server neu starten ===
'''Schritt 4: mySQL Server neu starten'''
   /usr/syno/etc/rc.d/S21mysql.sh restart
   /usr/syno/etc/rc.d/S21mysql.sh restart


== Regelmäßiger Reboot ==
== Regelmäßiger Reboot ==
Ich beobachte, dass nach einen Reboot Joomla besser läuft und die CPU Load niedriger ist.
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.''
''Bitte um Feedback: Bitte meldet, welche Erfahrungen ihr gemacht habt. Wer möchte, kann&soll sie hier einpflegen.''

Version vom 26. August 2012, 20:55 Uhr

Einleitung

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, 4 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 Systemsteurung/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" bereits existiert, so solltest du sie entweder vorher sichern oder darin die Werte von "query_cache_size" von 0 auf z.B. 32000000 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.


--Bkiss 17:48, 22. Aug. 2012 (CEST)