Viimeisenä kurssin tehtävänä tartun toimeen asentaa webbi-palvelimelleni Varnishin tehostamaan palvelimen suorituskykyä. Varnish on itse asiassa välimuisti, tällöin esim kuvat yms sivun staattinen sisältö haetaan välimuistista eikä kannasta, jolloin sivujen suorituskyky nousee huomattavasti.

Asennus- ja käyttöohjeet haen Varnishin sivuilta: https://www.varnish-cache.org/

Ensin päivitän paketit ja sitten asennan Varnishin:

$ sudo apt-get install varnish

Varnishin asennus onnistuu nätisti ja asennettu versio on 2.1.0-2ubuntu0.1. Varnishin nettisivuilla olisi ollut tarjolla 3.0.2-versiokin, mutta menköön nyt tällä.

Setting up varnish (2.1.0-2ubuntu0.1) …
* Starting HTTP accelerator

Seuraavaksi konffataan /etc/varnish/default.vcl -tiedostoa, jossa määritetään Varnishin backend palvelin. Muutamme portin ohjeiden mukaan 8080 -> 80:

# Default backend definition.  Set this to point to your content
# server.
#
backend default {
.host = ”127.0.0.1”;
.port = ”80”;
}

Seuraavaksi varmistan ettei varnishin prosessi varnishd ole päällä:

§ sudo pkill varnishd

Starttaan Varnishin muutamilla parametreilla varustettuna:

§ sudo varnishd -f /etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:8080

-f kertoo mistä default-konffis haetaan, -s kertoo tallennustyypin sisällölle, -T aktivoi Varnishin komentopohjaisen hallintatyökalun ja -a että sisääntuleville http-kutsuille käytetään porttia 8080.

Vastauksena saan ao. rivit (2 kpl), joten lähti kaiketi pyörimään:

storage_malloc: max size 1024 MB.
Using old SHMFILE

Näillä perustein ei voi sanoa paljon mitään Varnishin toiminnasta, varsinkin kun ajettava sivu on perus-kökkö-testi-sivu. Tarkistan lokit.

Varnishilla on oma loki-sovelluksensa Varnishlogs. Käynnistän sen terminaalista komenolla:

§ varnishlog

Terminaaliin ilmestyy ao. ping pong-viestejä ilmoittaen Varnishin päällä olemisesta.

0 CLI          – Rd ping
0 CLI          – Wr 200 PONG 1331653734 1.0

Ohje neuvoo vielä päivittämään testisivuani, jolloin terminaaliin pitäisi ilmestyä muutakin tekstiä. Ja sehän toimii!

11 SessionOpen  c 127.0.0.1 33172 0.0.0.0:8080
11 ReqStart     c 127.0.0.1 33172 658134849
11 RxRequest    c GET
11 RxURL        c /
11 RxProtocol   c HTTP/1.1
11 RxHeader     c Host: localhost:8080
11 RxHeader     c User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110628 Ubuntu/10.04 (lucid) Firefox/3.6.18
11 RxHeader     c Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
11 RxHeader     c Accept-Language: en-us,en;q=0.5
11 RxHeader     c Accept-Encoding: gzip,deflate
11 RxHeader     c Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
11 RxHeader     c Keep-Alive: 115
11 RxHeader     c Connection: keep-alive
11 RxHeader     c If-Modified-Since: Sat, 18 Feb 2012 07:50:14 GMT
11 RxHeader     c If-None-Match: ”14349b-11b-4b9384fc23e81”
11 RxHeader     c Cache-Control: max-age=0
11 VCL_call     c recv
11 VCL_return   c lookup
11 VCL_call     c hash
11 VCL_return   c hash
11 VCL_call     c miss

Kiitokset mielenkiintoisesta kurssista! Toivottavasti se keskitetty hallinta tms Linux/Unix-kursseja saataisiin myös iltatoteutuksiin 🙂

Jätä kommentti