Boost Joomla Performance
Boost Joomla Performance
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, 4GB 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:
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: Eine passende Vorlage für my.cnf (in Abhängigkeit der RAM-Größe deiner Diskstation) auswählen
cp /usr/syno/mysql/share/mysql/my-huge.cnf /etc/my.cnf
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(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.
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)