Linux kotitehtävä 7: Optimointia

Tämän viikon hommiksi onkin vuorossa tällaista:

”h7 optimointia. Lue koko tehtävänanto ja vinkit seuraavasta kommentista ennen kuin ryhdyt työhön. Kuormitustyökaluja saa käyttää ainoastaan omaan koneeseen.

Tee ja raportoi:
– Mittaa omalla koneellasi olevan WordPress-sivun ja samanlaisen staattisen sivun nopeuseroa ‘ab’ työkalulla.
– Asenna Varnish. Mittaa jonkin dynaamisen weppisivun (wordpress tms) suorituskyky ennen ja jälkeen asennuksen. Kuinka suuren hyödyn saat?

Tee ainakin kaksi seuraavista:
a) Muuta jotain Varnishin asetusta VCL-kielellä (esim iso-kuvat suoraan läpi – ei välimuistiin)
b) Analysoi ja nopeuta weppisivua YSlow -lisäkkeen avulla
c) Analysoi ja nopeuta weppisivua Firebug -lisäkkeen Net-välilehden avulla
d) Etsi jokin nopeuden analysoinnissa auttava palvelu wepistä ja käytä sitä”

Mitä luin tehtävänantoa lävitse, niin lähdin sen jälkeen suosiolla seuraamaan tarkemmin Eino Liimattan ohjeita. Mutta ensin toki ne perus jutut, eli:

$sudo apt-get update

Tämän jälkeen tein tehtävää varten oman hakemistonsa public_html:ään

$mkdir ~/public_html/blogaus.fi

Tämän jälkeen muokkaamaan /etc/hosts tiedostoa

$sudo nano /etc/hosts

Ja määrittelin sinne ”virtuaalipalvelimen” nimitedot, lisäämällä seuraavat rivit:

127.0.xxx.xxx http://www.blogaus.fi
127.0.xxx.xxx blogaus.fi
crtl+x ja yes.

Sitten seurasi tämä perinteinen Apachen asetustiedostojen muokkaaminen. Siirtyminen siis Apachen asetuskansioon:

$ cd /etc/apache2/sites-available/

Helpottaakseni mahdollisia sotkuja, kopioin aiemman harjoituksen .conf tiedostosta asetukset.

$ sudo cp wwww.kisu.fifi.conf blogaus.fi

ServerName www.blogaus.fi
ServerAlias blogaus.fi
DocumentRoot /home/kristiina/public_html/blogsite.com

php_admin_value engine 1

ServerAlias *.blogaus.*

ctrl+x ja yes

Tämän jälkeen blogauksen käyttöön otto:

$ sudo a2ensite blogaus.fi
Tästä seurasi ilmoitus:
ERROR: Site blogaus.fi does not exist!

Mietin hetken aikaa että mitä häh, tarkistin vielä että root hakemisto on sites-available:ssa oikein ja olihan se, kunnes sitten tajusin että olin unohtanut ubuntu 13.10 omaavan sen ärsyttävän piirteen että tiedoston perässä PITÄÄ olla .conf merkintä. Noh seuraavaksi sitten vain muuttamaan tiedoston nimeä:

$ sudo mv blogaus.fi blogaus.fi.conf

Sitten uudelleen:

$ sudo a2ensite blogaus.fi

Tämän jälkeen vielä Apachen uudelleen käynnistys

$ service apache2 reload

Tässä kohtaan huomasin tosiaan että uudelleen käynnistys ei onnistunut tuon conf tiedostossa olevan php_admin_value engine:n takia, joten menin takaisin ja poistin ko. rivin kokonaan. Tämän jälkeen apache käynnistyi normaalisti uudelleen.
Vuorossa seuraavaksi sitten virtuaalipalvelimen testaaminen lisäämällä lyhyen testi.php tiedoston /public_html/blogaus.fi tiedostoon.

Nyt olisi vuorossa toimivuuden testaaminen vielä selaimessa, joka valitettavasti ei sitten toiminutkaan…
The reguested URL /testi.php was not found on this server

Tarkistin .php tiedoston oikeudet ja kaikilla oli lukuoikeudet siihen, joten seuraavaksi miettimään mikä mättää jossain muualla… Tässä taas näkee sen kun pelaa useammalla snapshotilla, niin alkaa menemään vellit ja pullat sekaisin. 😀
Eli tässä snapshotissa minulta puuttuikin php5, vaikka apache löytyikin… Eli *kröhöm* asennetaan se php5:

$ sudo apt-get install php5

Nyt testisivu toimii muttei näytä sivua oikein

Uskaltaisin tässä kohtaa veikata, että olisi sittenkin pitänyt jättää sinne .conf tiedostoon se php_admin pätkä, noh kokeillaan ja mennään lisäämään se takaisin sinne. Joskohan sitten lähtisi pelittämään kunnolla.

$ cd /etc/apache2/sites_available/

$ sudo nano blogaus.fi.conf

<VirtualHost *:80> 
ServerName www.blogaus.fi
ServerAlias blogaus.fi
DocumentRoot /home/kristiina/public_html/blogsite.com
 <Directory /home/kristiina/public_html/blogaus.fi>
php_admin_value engine 1

</Directory>
ServerAlias *.blogaus.*
</VirtualHost>

ctrl+x ja yes

Tämänkään jälkeen sivusto ei näkynyt oikein, kunnes hetken pohdittuamme totesimme ettei esimerkki koodissa ollut html:ää ollenkaan,
joten eipä sivu olisikaan näkynyt hyvin koska ei ollut validi webbisivu. Lisäsin perus html tagit php:n ympärille ja tämän jälkeen sivu pelittikin hyvin.

[tähän muokattu koodi]





Ensitöikseen joutuikin käynnistelemään mysql uudelleen, kun Digital Oceanilla tuo snapshotin ottaminen edellytti palvelimen päältä pois laittamista.

$ sudo service apache2 restart

ja heti perään

$ sudo service mysql restart

Noin, nyt blogi toimiikin ja näkyy jälleen. Tämän jälkeen piti vielä asentaa apache2-utils että saisin ab:n toimimaan

$ sudo apt-get install apache2-utils

$ ab -c 10 -n 100 http://kittipitti.tk/2014/03/05/perus-rytinalla-mennaan/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking kittipitti.tk (be patient)…..done

Server Software:        Apache/2.4.6
Server Hostname:        kittipitti.tk
Server Port:            80

Document Path:          /2014/03/05/perus-rytinalla-mennaan/
Document Length:        251 bytes

Concurrency Level:      10
Time taken for tests:   0.278 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Non-2xx responses:      100
Total transferred:      58400 bytes
HTML transferred:       25100 bytes
Requests per second:    360.31 [#/sec] (mean)
Time per request:       27.754 [ms] (mean)
Time per request:       2.775 [ms] (mean, across all concurrent requests)
Transfer rate:          205.49 [Kbytes/sec] received

Connection Times (ms)
min  mean[+/-sd] median   max
Connect:        0    0   1.0      0       4
Processing:     4   26   6.8     26      59
Waiting:        0   12  10.5      7      59
Total:          4   27   7.0     27      59

Percentage of the requests served within a certain time (ms)
50%     27
66%     28
75%     30
80%     31
90%     33
95%     35
98%     50
99%     59
100%     59 (longest request)

 

Lähteet:

Jätä kommentti