Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

Obwohl ich das WordPress Plugin „Cachify“ schon seit langem auf meinem Blog einsetze, habe ich mich bisher noch nicht besonders damit beschäftigt. Bis vor einer halben Stunde war das Plugin auf die „Datenbank“-Caching-Methode gestellt. Zusätzlich war die HTML-Komprimierung aktiv. Jetzt läuft Cachify mit Memcached und bringt eine beachtenswerte Performancesteigerung mit sich (verarbeitete Seitenaufrufe pro Sekunde):

  • Ohne Cachify:         19 trans/sec
  • Datenbank:             38 trans/sec
  • Festplatte:               13 trans/sec (?)
  • Memcached:           177 trans/sec

Etwas merkwürdig hat sich der Festplatten-Cache verhalten. Damit war der Blog sogar langsamer als ohne Cache. Da für mich ohnehin memcached als klarer Sieger feststand und eine Festplatte niemals gegen den RAM ankommt, wollte ich auch nicht lange nach der Ursache forschen. Die Memcached-Methode steht nur für Nginx-Webserver bereit. Der Grund ist u.A. hier erklärt: Cachify Caching-Methoden

Das Caching via Memcached lohnt sich auf jeden Fall und ist schnell eingerichtet. Unter Ubuntu Server 14.04 werden einfach diese Pakete installiert:

apt-get install memcached php5-memcached

… PHP  neu gestartet (Memcached sollte direkt nach der Installation schon laufen)

service php5-fpm restart

… und die Nginx-Konfiguration gemäß der Anleitung angepasst:

server {
    listen 80;
    listen [::]:80;        
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name thomas-leister.de www.thomas-leister.de;

    [...]    
    
    location / {
        error_page 404 405 = @nocache;
        
        if ($query_string = true){
            return 405;
        }
        if ($request_method = POST){
            return 405;
        }
        if ($request_uri ~ "/wp-"){
            return 405;
        }
        if ($http_cookie ~ (wp-postpass|wordpress_logged_in|comment_author)_ ){
            return 405;
        }
        
        default_type text/html;
        add_header X-Powered-By Cachify;
        set $memcached_key $http_host$uri;
        memcached_pass localhost:11211;
    }
    
    ## nocache
    location @nocache{
        try_files $uri $uri/ /index.php?$args;
    }
    

    # Add trailing slash to */wp-admin requests.
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;

    # Directives to send expires headers and turn off 404 error logging.
    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           access_log off; log_not_found off; expires max;
    }
    
    # Directives to send expires headers and turn off 404 error logging.
    location ~* ^.+\.(css)$ {
           access_log off; log_not_found off; expires 1w;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php-thomasleister;
    } 
}

Dann noch Nginx neu laden:

service nginx reload

… und in Cachify auf „Memcached“ stellen. Fertig.

Mit dem Tool „siege“ kann man dann die Performance testen:

siege -b meinblog.de

 


Post published on 1. Februar 2016 | Last updated on 1. Februar 2016
Tags:           

Diesen Blog unterstützen

Wenn Dir der Beitrag gefallen hat, freue ich mich über einen kleinen Obolus :-) Bitcoin QR Code

PayPal-Seite: https://www.paypal.me/ThomasLeister
Meine Bitcoin-Adresse: 15z8 QkNi dHsx q9WW d8nx W9XU hsdf Qe5B 4s

Siehe auch: Unterstützung

Informationen zum Autor

Thomas Leister

Geb. 1995, Kurzhaar-Metaller, Geek und Blogger. Nutzt seit Anfang 2013 ausschließlich Linux auf Desktop und Servern. Student der Automobilinformatik an der Hochschule für angewandte Wissenschaften in Landshut.

11 thoughts on “WordPress Blog beschleunigen mit Cachify

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.