Archiv:Boost Joomla Performance
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 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.
--Bkiss 17:48, 22. Aug. 2012 (CEST)