Cache - gyorsítótár

Ezeknek a kiszolgálóknak kettős feladatuk van, de mindkettő gyorsítótárazási feladatokat lát el. A Varnish a weboldalak tartalmát gyorsítótárazza a beállított szabályoknak megfelelően, míg a Memcached a főként php alkalmazások számára szolgáltat gyors elérésű, megoszott memória tárat.

Varnish

Csomag telepítése, szolgáltatás engedélyezése

rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.1.el7.rpm

yum install varnish

systemctl enable varnish

systemctl enable varnishncsa


A varnishncsa a logolást végzi.


Varnish konfiguráció

A /etc/varnish/varnish.params fájlban a VARNISH_LISTEN_ADDRESS paramétert üresre kell állítani, hogy minden IP címen hallgasson a szolgáltatás

A Varnish cache paraméterezése a /etc/varnish/default.vcl fájlban található. Ezt egy külön dokumentációban tárgyalom.

Varnishncsa logolás konfigurációja:

/usr/lib/systemd/system/varnishncsa.service

[Unit]
Description=Varnish Cache HTTP accelerator NCSA logging daemon
After=varnish.service

[Service]
RuntimeDirectory=varnishncsa
Type=forking
PIDFile=/run/varnishncsa/varnishncsa.pid
User=varnishlog
Group=varnish
ExecStart=/usr/bin/varnishncsa -a -w /var/log/varnish/varnishncsa.log -D -P /run/varnishncsa/varnishncsa.pid -F "%%{X-Forwarded-For}i %%u %%t %%r %%s %%{Referer}i %%{User-agent}i %%{Varnish:hitmiss}x"
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

A Carnish logok fontos eleme a "%%{Varnish:hitmiss}" Ez mutatja, hogy az adott kérés cache-ből vagy backend szerverből lett kiszolgálva. Ennek elemzésével a cache arány felmérhető. Természetesen a Varnish is frissíti a cache tartalmát időnként, ezért a cache hit nem 100% ha csak ezeket a sorokat vesszük alapul.

Annak érdekében, hogy a Varnish logok eljussanak a központi log kiszolgálóra, az alábbival lett kiegészítve a Syslog-ng konfigurációja:

/etc/syslog-ng/conf.d/varnish.conf

source s_varnish{

       file("/var/log/varnish/varnishncsa.log" program_override("Varnish") flags(no-parse) default-facility("local1")  default-priority("info"));

};

log { source(s_varnish); destination(logserver); };

Memcached

Alap konfigurációhoz csak a csomag telepítésére és a szolgáltatás engedélyezése szükséges:

yum install memcached

systemctl enable memcached



Kulcsszavak: Linux, High availability, Terhelés elosztás, Magas rendelkezésre állás

Új hozzászólás: