Saitko WordPressin sivuston eheys -sivulla seuraavan ilmoituksen: "Sivuvälimuisti löydettiin, mutta palvelimen vastausaika on silti hidas."? Englanniksi sama ilmoitus kuuluu näin: "Page cache is detected but the server response time is still slow."
Tässä blogijutussa kerron, mikä on sivuvälimuisti, miten se vaikuttaa palvelimen vastausaikaan (=vasteaika) ja miksi palvelimen vasteaika voi silti olla hidas.
Mikä on sivuvälimuisti?
Sivuvälimuisti (engl. Page Cache) on välimuistijärjestelmä, jota verkkosivustot ja web-sovellukset käyttävät parantaakseen suorituskykyä ja vähentääkseen palvelimen kuormitusta.
Kun käyttäjä vierailee verkkosivustolla, palvelimen on suoritettava joukko toimintoja sivun lataamiseksi ; se saattaa joutua hakemaan tietoja tietokannasta, suorittamaan erilaisia laskutoimituksia, muodostamaan HTML-sivun ja lähettämään sen käyttäjän selaimelle. Tämä prosessi voi olla aikaa vievä ja kuormittaa palvelinta, erityisesti jos sivustolla on useita samanaikaisia käyttäjiä.
Sivuvälimuisti ratkaisee tämän ongelman tallentamalla valmiiksi renderöidyn version sivusta muistiin. Kun käyttäjä ensimmäisen kerran pyytää tiettyä sivua, palvelin muodostaa sivun normaalisti, mutta tallentaa myös muodostetun sivun välimuistiin. Kun seuraava käyttäjä pyytää samaa sivua, palvelin voi lähettää sivun suoraan välimuistista sen sijaan, että muodostaisi sivun joka kerta uudelleen. Tämä vähentää palvelun kuormitusta ja nopeuttaa sivun latausaikaa.
Välimuistiin tallennettu sivu säilyy siellä määrätyn ajan (välimuistin elinikä) tai kunnes sivun sisältöä päivitetään, jolloin myös välimuisti päivitetään vastaamaan uutta sisältöä.
Miksi palvelimen vastausaika on hidas?
"Sivuvälimuisti löydettiin, mutta palvelimen vastausaika on silti hidas" on WordPress-sivustolla oleva kriittinen virhe, jonka saatat löytää Sivuston eheyden tila -sivulta (Työkalut > Sivuston eheys).
Tämä varoitus voi tulla näkyviin, jos palvelimen vasteaika on yli 600 millisekuntia.
Tässä tapauksessa voi olla tarpeen tarkistaa palvelin ajoittaisen tai äkillisen ylikuormituksen varalta. Lisäksi sinun tulee varmistaa, että lisäosat, teemat ja PHP on päivitetty uusimpiin versioihin.
Voit testata verkkosivustosi palvelimen vasteaikaa PageSpeed Insights -työkalulla. Lisää verkkosivun URL-osoite ja klikkaa analysoi.
Miten lyhentää palvelimen vasteaikaa?
Palvelimen vasteaika (engl. Time to First Byte, TTFB) mittaa, kuinka kauan ensimmäisen HTML-tavun siirtyminen palvelimeltasi käyttäjän selaimeen kestää. Mitä nopeammin palvelin vastaa, sitä nopeammin käyttäjä näkee sivun alkavan latautua.
WordPress-sivustolla helpoin tapa lyhentää palvelimen vasteaikaa on ottaa käyttöön sivuvälimuistin sisältävä välimuistilisäosa. Yksi parhaista cache-lisäosista on WP Rocket.
WP-Rocket -lisäosa auttaa palvelimen vasteajan parantamisessa monin eri tavoin:
- Sivuvälimuisti lyhentää huomattavasti palvelimen vasteaikaa tarjoamalla nopeat HTML-sivut hitaiden PHP:n luomien sivujen sijasta.
- Tietokannan optimointi voi vaikuttaa palvelimen vasteaikaan. Kokeile lisäosan tietokannan optimointia pienentääksesi tietokannan kokoa ja suorita työkaluilla säännöllisiä tietokannan siivouksia.
- GZIP-pakkaus on deflate-algoritmia käyttämä pakkausohjelma, jonka avulla palvelin voi pakata lähettämänsä datan siten, että selain purkaa sen automaattisesti, jolloin tiedonsiirto nopeutuu.
Palvelimen vasteaika on hidas välimuistista huolimatta
Palvelin voi olla hidas myös muista syistä kuin sivuvälimuistin puuttumisesta johtuen.
1. Hosting
WordPress-sivustosi on vain niin nopea kuin käyttämäsi hostingin resurssit sallivat.
Jos käytät jaettua ja/tai halpaa webhotellia, se tarkoittaa, että verkkosivustosi jakaa palvelinresurssit useiden muiden sivustojen kanssa. Tämä vaikuttaa siihen, miten sivustosi toimii, vaikka välimuisti olisikin käytössä.
Jos palvelimen vasteaika vaihtelee paljon testistä toiseen tai on jatkuvasti korkea välimuistista huolimatta, tämä voi viitata palvelimen resurssiongelmiin.
2. PHP
Käytä uusinta saatavilla olevaa PHP-versiota. Jos palvelimesi käyttää PHP 5.6:ta, siirry versioon 7 tai 8, jos mahdollista.
3. Käytä sisällönjakeluverkkoa
Sisällönjakeluverkko (CDN, Content Delivery Network) on maantieteellisesti hajautettu verkko, jonka tarkoitus on palvelujen tarjoaminen lähellä loppukäyttäjää.
CDN voi lyhentää palvelimen vasteaikaa tallentamalla sivustosi kopioita useisiin palvelinkeskuksiin ympäri maailmaa, jolloin käyttäjät voivat käyttää sivustoasi lähimmästä saatavilla olevasta paikasta.
4. Koodin pullonkaulojen löytäminen
Lisäosien, laajennusten, ulkoasuteeman tai muu sivustolla oleva koodi, joka toimii hitaasti tai tuottaa virheitä, voi sitoa palvelimesi resursseja, jolloin se ei pysty vastaamaan nopeasti.
Käytä Query Monitoria tai vastaavaa lisäosaa löytääksesi hitauden aiheuttajan.
Lisäresursseja: Chrome Developers, web.dev.