Julkaistu
Päivitetty

Meiltä kysytään usein, miksi WordPress-sivustot toimivat nopeammin WP-palvelussa kuin muilla hosting-alustoilla. Yksinkertaisimmillaan asian voi selittää niin, että toisin kuin normaalissa hostingissa, olemme rakentaneet nimenomaan WordPress-sivustolle tarkoitetun palvelinympäristön – emmekä yleiskäyttöistä hostingympäristöä, jossa voi ajaa myös WordPressiä.
Tämä vastaus ei kuitenkaan vielä kerro uteliaimmille, mitä kaikkea on otettu huomioon WP-palvelun palvelinympäristöä rakennettaessa. Tässä kirjoituksessa kerromme kehittäjäkulmalla, miksi palvelumme tekee verkkosivuista niin nopeita.
dogs

1. Tehokas, skaalautuva PaaS-arkkitehtuuri

Emme tarjoa perinteistä jaettua hostingia tai virtuaalikoneita. Koko palveluarkkitehtuurimme on containerisoitu pilvipalvelinklustereihin ja vapaasti skaalautuviin hajautettuihin prosesseihin. Mikä parasta: tämä kaikki on asiakkaalle täysin näkymätöntä.
Kun sivustosi liikennemäärät kasvavat, WP-palvelu perustaa automaattisesti uusia tietokanta- ja sovellusprosesseja eri palvelimille palvelemaan sivustoasi. Kun otat yhteyttä sivustoosi, pyynnöt reitittyvät usealle eri fyysiselle palvelimelle, jotka kaikki palvelevat sivustoasi rinnakkain.
Vaikka olisitkin ostanut halvimman WP Mini -paketin, sivustosi ei kärsi katkoksista yllättävissäkään kävijäpiikeissä. Paketin koko on meille vain sopimustekninen asia, ja laskutamme toteutuneen liikennemäärän mukaisesti.

2. PHP7 ja HHVM

WordPress on PHP-ohjelmisto, jonka ajamiseen tarvitaan PHP-moottoria. PHP on yksi webin vanhimmista ja parhaiten tunnetuista teknologioista, jolla myös monet maailman suurimmat webbipalvelut ja -sivustot on rakennettu.
Muutamien viimeisten vuosien aikana PHP-moottoreihin on tehty huomattavia parannuksia ja optimointeja, jotka parantavat PHP-sovellusten, kuten WordPressin nopeutta huomattavasti. Me WP-palvelussa tarjoamme asiakkaillemme käyttöön aina vain uusimmat ja tehokkaimmat PHP-moottorit, jotka on valmiiksi konfiguroitu toimimaan niin nopeasti kuin mahdollista.
WP-palvelun alkuaikoina tämä tarkoitti Facebookin insinöörien kehittämän HipHopVirtualMachine (HHVM) PHP-moottorin tarjoamista standardin PHP5.6-version rinnalle. Huomattavasti nopeamman PHP7:n julkaisun jälkeen olemme oletusarvoisesti tarjonneet sitä asiakkaillemme. WP-palvelussa voit itse valita vapaasti uusimpien PHP5, PHP7 ja HHVM -versioiden välillä.
Suosittelemme PHP5.6 tai HHVM:n käyttöä vain niissä tapauksissa kun nopeamman PHP7:n käyttö ei jostain syystä ole mahdollista.

3. Cache-tasot (välimuisti)

Yksi tärkeimmistä tavoista optimoida web-sovelluksia on välimuistittaa sen raskaita osia. Parhaimmassa tapauksessa koko WordPressin ajon voi ohittaa ja palvella vastaukset suoraan edustapalvelimen HTTP-välimuistista. Tällöin palvelimen vastausaika tippuu sadoista millisekunneista muutamiin millisekunteihin, ja sovelluspalvelimet eivät kuormitu laisinkaan.
Useimmissa tapauksissa on mahdollista käyttää Nginx:n HTTP-cachea WordPressin julkisella puolella, koska sivustot ovat tavallisesti luonteeltaan staattisia kävijöille. Kuitenkaan esimerkiksi kirjautuneille käyttäjille täysi HTTP-cache ei ole mahdollinen, koska tietyt elementit, esimerkiksi adminpaneeli generoidaan käyttäjän tason mukaan. Nginx HTTP-cache on aina automaattisesti käytössä WP-palvelun sivustoilla, ellei sitä ole erikseen estetty esimerkiksi PHP-sessiota käyttämällä tai cache-headereilla. WP-palvelun edustapalvelinten HTTP-välimuistia voi ohjailla WordPressin tasolta normaaleilla HTTP-headereilla, sekä hallintapaneelissa olevalla Tyhjennä Välimuisti -napilla.
Niissä tapauksissa kun täysi HTTP-cache ei ole mahdollinen, tärkeintä on saada PHP ja WordPress sekä myös tietokanta vastaamaan mahdollisimman nopeasti kyselyihin. Tietokantaklusterin tasolla käytetään MariaDB:n Query Cache -toimintoja, mikä nopeuttaa usein toistuvia SQL-kyselyjä. Query Cache on erityisen kätevä WordPressin kanssa, sillä sivunlatausten väliset kyselyt ovat usein samanlaisia: esimerkiksi viimeisimmät julkaistut artikkelit tai WordPressin asetuksien haku nopeutuu huomattamasti välimuistittamalla SQL-queryjen vastaukset.
PHP5 ja PHP7-versioihin on valmiiksi myös kytketty päälle OPCache-moduuli. PHP:n opcode-välimuisti (OPCache) toimii välimuistittamalla konekieliseksi käännetyn PHP-suorituksen osia, ja samalla keventämällä PHP-tulkin tekemää työtä sivunlatauksen aikana. Tekniikka toimii erityisen tehokkaasti WordPressin kanssa, koska sivunlatauksen muistuttavat hyvin paljon toisiaan eikä kooditulkin tarvitse joka kerta kääntää koko WordPressin ajoa uudelleen konekielelle. HHVM-moottori tekee myös samantyyppistä käännösoptimointia ilman erillistä moduulia.
Myös WordPressin ydin sisältää valmiiksi paljon cacheoptimointeja, jotka saa käyttöön osoittamalla WordPressille erillinen object-cache.php -implementaatio. Tarjoamme asiakkaillemme nopean muistissa ajettavan Redis-tietokannan WordPressin cachekäyttön. Käyttämämme Redis-cache implementaatio on julkaistu GitHub-tilillämme. 

4. HTTP/2 ja HTTPS

WP-palvelussa kaikkiin verkkotunnuksiin sisältyy oma HTTPS-varmenne, ja rohkaisemme asiakkaitamme käyttämään suojattuja yhteyksiä aina kun se on mahdollista. Tähän on paljon järkeviä turvallisuushyötyjä, mutta HTTPS:n käytön ainoa hyöty ei suinkaan ole turvallisuus, vaan myös nopeus.
Kuten muissakin asioissa, WP-palvelu hyödyntää aina uusinta teknologiaa palvelimillaan. Olemme jo vuosia käyttäneet HTTP2:n edeltäjää, Googlen SPDY-protokollaa, mutta vuoden alussa Let’s Encryptin myötä tulleen HTTPS-varmenneräjähdyksen myötä otimme käyttöön uuden HTTP2 -protokollan, joka mahdollistaa verkkosivujen latautumisen moninkertaisesti nopeammin vähentämällä tarvittavien yhteyksien määrää.
Voit itse kokeilla allaolevasta linkistä kuinka paljon nopeammin sivustosi toimii, kun käytössä on HTTPS-suojaus vanhanaikaisen HTTP:n sijaan:
https://www.httpvshttps.com/

5. Nginx PageSpeed-moduuli

Kirsikkana kakun päällä tarjoamme myös kokeellista PageSpeed-palvelinmoduulia, joka pyrkii automaattisesti optimoimaan WordPressin tuottamaa html-ulostuloa sekä assetteja kuten kuvia, skriptejä ja tyylejä mahdollisimman pieniksi ja tehokkaiksi. Teknologia pyrkii toteuttamaan automaattisesti Googlen PageSpeedin tekemiä ehdotuksia.
Voit lukea tarkemman kuvauksen PageSpeed-moduulin toiminnasta aikaisemmasta kirjoituksestamme.
PageSpeed on vielä kokeellinen ominaisuus, ja se toimii vaihtelevasti eri sivustoilla. Voit helposti kokeilla PageSpeedia omalla sivustollasi WP-palvelussa lisäämällä Nginx-konfiguraatioon rivin:

pagespeed on;

6. WordPress-asiantuntijat

Selkeä ero perinteisen hostingin ja WP-palvelun välillä piilee palvelintekniikan lisäksi osaamisessamme. Teemme kaikkemme, jotta asiakkaidemme WordPress-sivustot olisivat mahdollisimman toimivia ja nopeita. Palvelupakettien vakio-ominaisuuksien lisäksi olemme käytettävissä myös sivustokohtaisesti räätälöityyn nopeusoptimointityöhön, jonka avulla saadaan raskaammatkin sivut pyörimään vauhdilla. Pidämme myös kehittäjäkoulutuksia, joissa voidaan keskittyä vaikkapa siihen, miten jo verkkosivuston rakennusprosessissa nopeusvaatimukset kannattaa ottaa huomioon.
 
Haluatko kuulla lisää? Ota yhteyttä!