Boost Joomla Performance: Unterschied zwischen den Versionen

Aus
(diverse Formatierung)
Zeile 38: Zeile 38:
=== 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!''


''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]

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)