Tehtävänanto - Asenna WordPress ja tee siihen esimerkkisisältöä - Mittaa WP:n tehoa. Vertaile etusivun ja alasivujen nopeutta siihen, että tallennat saman sisällön staattiseksi. Analysoi mittaustulokset. - Asenna käänteisproxy. Kokeile, että dynaamiset ominaisuudet, kuten kommenttien jättö, toimivat edelleen. Mittaa ja analysoi tulokset. Vertaa tilanteeseen ilman käänteisproxya. Käsittele kuormitustyökaluja niin, ettei niistä aiheudu häiriötä muille. localhost on osoitteena turvallisemmasta päästä. (Karvinen, T. 07.10.2013) Työympäristö Tein tehtävän koulun labrakoneella. Tietokone: HP Compaq 8200 Elite CMT PC (XL508AV) Tunnus: 1K015 PC 24 Käytin tehtävän tekemiseen Xubuntu 13.04 -käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta. Ensimmäisenä annoin komennot $ setxkbmap fi $ sudo apt-get update Sitten asensin libreofficen komennolla $ sudo apt-get install libreoffice sekä asensin sshfs:n komennolla $ sudo apt-get install sshfs. Käytin raportin kirjoittamiseen libreofficea. Tallensin sshfs:n avulla tämän raportin suoraan myy.haaga-helia.fi -palvelimelle. Tein hakemiston myy johon mounttasin sshfs:llä myy-palvelimen komennolla $ sshfs [käyttäjätunnus]@myy.haaga-helia.fi: myy.
WordPress - Asenna WordPress ja tee siihen esimerkkisisältöä Asensin WordPressin niin kuin edellisessä tehtävässä. WordPressin kuormitus - Mittaa WP:n tehoa. Vertaile etusivun ja alasivujen nopeutta siihen, että tallennat saman sisällön staattiseksi. Analysoi mittaustulokset. Apachen Benchmark -työkalulla eli ab:lla voi kuormittaa apachea ja tarkastella sen vaikutusta sivujen latausnopeuteen. $ ab -n 100 -c 100 http://localhost/~xubuntu/ -komennolla kuorimitin palvelinta (-n = kuinka monta sivun latausta tehdään, -c = kuinka monta sivun lautausta tehdään kerralla). HUOM! Komennon antamisessa pitää olla tarkkana. Jos jättää pois lopusta /-merkin pois, ab testaa tällaista sivua: Eli ab testaa 309 merkkiä pitkää sivua, joka ei ole se sivu mitä käyttäjät lataa, joten se kertoo ihan täysin väärää tietoa. Kun laittaa /-merkin perään, ab testaa oikeaa sivua:
$ ab -n 100 -c 100 http://localhost/~xubuntu/ Komento tuotti tällaisen tulosteen. Annoin komennon uudelleen, mutta tällä kertaa valitsin vain kaikkein kiinnostavimmat rivit grep-komennolla: $ ab -n 100 -c 100 http://localhost/~xubuntu/ grep -P "Failed #/sec 50% 100% Length Percentage" (Karvinen, T. 11.10.2013) Eli valitsin dokumentin pituuden, epäonnistuneet latauspyynnöt, palvellut pyynnöt per sekunti ja kuinka monta millisekuntia kesti keskimäärin palvella 50% ja 100% latauspyynnöistä.
Tämän jälkeen tallensin sivuston sisällön staattiseksi html-tiedostoksi: Sitten testasin tätä sivua ab:lla. $ ab -n 100 -c 100 http://localhost/~xubuntu/super.html grep -P "Failed #/sec 50% 100% Length Percentage" Vertauksena dynaamisen WordPress sivun tulos: Kun WordPress sivu oli dynaaminen, apache pystyi käsittelemään keskimäärin 28,49 latauspyyntöä per sekunti kun taas staattisella pystyi käsittelemään keskimäärin 14120 latauspyyntöä per sekunti eli noin 500 kertaa enemmän. Lisäksi pisin lautausaika dynaamisella oli 3509 ms eli n. 3,5 s kun taas staattisella oli 6 ms eli 0,006 s eli melkein 600 kertaa enemmän. Staattisena WordPress sivu oli siis todella paljon nopeampi kuin dynaaminen.
Käänteisproxy (Varnish) - Asenna käänteisproxy. Kokeile, että dynaamiset ominaisuudet, kuten kommenttien jättö, toimivat edelleen. Mittaa ja analysoi tulokset. Vertaa tilanteeseen ilman käänteisproxya. Asensin Varnish-ohjelman komennolla $ sudo apt-get install Varnish. Tämän jälkeen muokkasin mitä porttia apache2 kuuntelee: $ sudoedit /etc/apache2/ports.conf Eli nyt apache kuunteli porttia 8080 eikä porttia 80. Jos oli tehnyt palvelimesta nimipohjaisen, piti myös muokata /etc/apache2/sites-enabled/-hakemistossa olevaa tiedostoa: $ sudoedit /etc/apache2/sites-enabled/superflyingninjamonkey.com Tämän jälkeen muokkasin /etc/default/varnish-tiedostoa, jotta varnish kuuntelisi porttia 80: $ sudoedit /etc/default/varnish /etc/varnish/default.vcl-tiedostossa on oletuksena laitettu varnish siirtämään pyynnöt porttiin 8080, joten sitä ei tarvitse muokata.
Apachen VirtualHostin kanssa tuli seuraavanlainen ongelma vastaan varnishin asentamisen jälkeen: Localhost/~xubuntu/ ei toiminut oikein vaan se ohjasi http://superflyingninjamonkey.com/~xubuntu/ sivulle. Kommenttien lisääminen tai mikään muukaan dynaaminen toiminto ei toiminut enää. Päätin poistaa nimipohjaisuuden palvelimelta koska en saanut sitä toimimaan Varnishin kanssa. Testasin nyt, että kommenttien lisääminen toimii Varnishin kanssa. Kommenttien lisääminen toimi. Kuormittaminen käänteisproxyn kanssa Kuormitin palvelinta uudestaan ab:lla: $ ab -n 100 -c 100 http://localhost/~xubuntu/ grep -P "Failed #/sec 50% 100% Length" Ensimmäiset latauspyynnöt kestivät kauemmin koska Varnishin piti pyytää Apachelta sivun sisältö omaan välimuistiin. Tämän jälkeen kaikki latauspyynnöt toimivat huomattavasti nopeammin.
Vertauksena ilman käänteisproxya: Käänteisproxyn avulla dynaamisen WordPress sivun sai siis yhtä nopeaksi kuin staattisen sivun.
Lähteet Karvinen, T. 04.06.2006. Raportin kirjoittaminen. Luettavissa: http://terokarvinen.com/raportin_kirjoittaminen.html. Luettu:. Karvinen, T. 07.10.2013. Aikataulu Linux palvelimena ict4tn003-9 ja -10 syksyllä 2013. Luettavissa: http://terokarvinen.com/2013/aikataulu-%e2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksyl la-2013#comment-20167. Luettu:. Karvinen, T. 11.10.2013. Aikataulu Linux palvelimena ict4tn003-9 ja -10 syksyllä 2013. Luettavissa: http://terokarvinen.com/2013/aikataulu-%e2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksyl la-2013#comment-20175. Luettu:. Tietoja Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen