Memcached Unix Sockets

  • App
    WoltLab Suite Core

    Hi,


    ich gehe davon aus dass man aktuell nur einen Memcached Server angeben kann der über TCP hört ? Wenn ich den Memcached Server aber nur lokal über Sockets verfügbar machen will, ist es möglich bzw. überhaupt umsetzbar ?


    Gestartet wird memcached dann mit mit -s <path/to/sock/file> Parameter und wenn dieser gesetzt ist, wird der -p Parameter für TCP ignoriert.


    Gruss

  • Bin eben nochmal über das Thema gestolpert und wollte euch ein paar Infos was das WCF und Memcached Sockets angeht nicht vorenthalten.
    Vielleicht ist es für den einen oder anderen interessant.


    Es ist ohne weitere Codeänderung möglich, dass das WCF auch Verbindungen von einem Memcached mit Socket akzeptiert.


    Als erstes muss man Memcached konfigurieren.


    Da Memcached das Socket in /var/run nicht ohne weiteres anlegen kann, erstellen wir einfach das Verzeichnis memcached manuell und ändern den Besitzer auf dem User der Memcached Daemon läuft.


    mkdir -p /var/run/memcached
    chown www-data:www-data /var/run/memcached/ Bei mir läuft Memcached als www-data, das müsst ihr eventuell anpassen, jenachdem unter welchem User Memcached läuft. Standard ist nobody oder memcache.



    Memcached Konfig bearbeiten:

    Bash: memcached.conf
    [...]
    #-p 11211
    #-l 127.0.0.1
    -s /var/run/memcached/memcached.sock
    -a 0766


    Im ACP unter System - Optionen - Allgemein - Cache den Memcached-Server eintragen.


    Code
    //var/run/memcached/memcached.sock:0


    Das ganze sollte man natürlich nur machen wenn man weiß was man tut und es wird mind. Memcached 2.0.0b1 vorausgesetzt.


    Gruss

    • Official Post

    Je nach Auslastung des Systems ist TCP/IP besser als Sockets, da Sockets nur bedingt skalieren und einen Flaschenhals darstellen können. Der Overhead von TCP/IP ist nur relevant, wenn man eine niedrige Auslastung hat, da man so mit Sockets Ressourcen sparen kann.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!