Boost Joomla Performance: Unterschied zwischen den Versionen
imported>Raymond |
imported>Bkiss K doppeltes Wort gelöscht |
||
Zeile 81: | Zeile 81: | ||
''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(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" | ''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. 32000000 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 |
Version vom 29. August 2012, 13:14 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" 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)