Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

Kuidas WordPressi saiti stressitestida: 4 tasuta sammu

Kuidas WordPressi saiti stressitestida: 4 tasuta sammu

Külastajad eeldavad, et sait laeb alla kahe sekundiga. Aga mis juhtub, kui korraga tabab seda kümne asemel tuhat inimest? Kas see jookseb kokku? Kui palju külastajaid suudab server taluda enne esimest tõrget?

WordPressi koormustest annab neile küsimustele vastused. Sa ei vaja selleks kalleid ettevõttetaseme teenuseid: tasuta tööriistadest ja ühest tunnist sinu ajast piisab, et leida oma saidi murdepunkt.

💡 Kiire ülevaade:

  • Kontrolli laadimiskiirust Pingdomi kaudu ja saa sekunditega detailne raport.
  • Käivita koormustest k6-s (Load Impacti järglane), et teada saada, kui palju samaaegseid külastajaid sinu server talub.
  • Skaneeri oma saiti GTmetrixi abil, et leida probleeme konfiguratsioonis, skriptides ja vahemälus.
  • Profileeri pluginaid AIO Performance Profileriga, et tuvastada, milline plugin sinu saiti kõige rohkem aeglustab.

Mis on WordPressi koormustest

Koormustest (ehk stressitest) on meetod, mille puhul saadad oma saidile kontrollitud koguse liiklust ja jälgid, kuidas süsteem sellega toime tuleb. Sa simuleerid „tipptunni" stsenaariumi ja mõõdad serveri reageerimisaega koormuse all.

WordPressi saidi koormustesti graafik

Erinevalt lihtsast kiirusemõõtmisest ei näita koormustest ainult tulemust „kiire/aeglane". See toob esile kriitilise punkti: külastajate arvu, mille juures serveri reageerimisaeg järsult tõuseb. See teadmine aitab sul valmistuda reaalseteks liikluse hüpeteks, näiteks kui postitus tõuseb otsingutulemuste tippu või uudiskiri toob kaasa klikilaine.

Peamine reegel: modelleeri realistlikku arvu. Pole mõtet testida oma saiti 10 000 samaaegse külastaja jaoks, kui sinu päevane maksimum on 500. Test peaks kajastama tegelikke riske, mitte hüpoteetilist „mis siis, kui TechCrunch liiklust saadab" olukorda.

Enne alustamist

Kaks olulist punkti, mida enne testi läbiviimist kaaluda:

  • Kui sinu majutusplaanil on andmemahu limiit, võib test selle ammendada ja tuua kaasa lisatasusid. Kontrolli eelnevalt oma plaani tingimusi.

  • Koormustesti ajal võib sait ajutiselt mõnele külastajale mitte vastata. Server on hõivatud testliikluse töötlemisega ega suuda tavalisi päringuid käsitleda. Käivita test minimaalse aktiivsuse perioodil: hilisõhtul või varahommikul.

Kuidas WordPressi koormust testida: 4 sammu

Koormustestimise tööriistu on kümneid, alates sadu dollareid maksvatest ettevõttelahendustest kuni avatud lähtekoodiga raamistike nagu Apache JMeter. Kuid WordPressi saidi omanikud vajavad lihtsaid ja tasuta meetodeid, mis ei nõua agentide paigaldamist serverisse ega skriptide kirjutamist. Allpool on neli sammu, mis katavad kogu koormustesti tsükli, kasutades ainult tasuta veebitööriistu.

1. Kontrolli laadimiskiirust

Esimene ja lihtsaim samm on baaskiiruse mõõtmine. Ava oma sait privaatses brauseriaknas ja võta aega täielikuks laadimiseks. See annab vaid üldise ettekujutuse, ilma teabeta selle kohta, milline element lehte aeglustab.

Detailse analüüsi jaoks kasuta Pingdomit. Sisesta oma saidi URL, vali testi asukoht ja klõpsa Start Test.

Kiiruse testimise liides Pingdomis

Sekunditega annab Pingdom detailse raporti: kogu laadimisaeg, lehe suurus, HTTP-päringute arv ja iga elemendi jaotus reageerimisaja järgi. Nipp: vali asukoht, mis on geograafiliselt lähedal sinu tegelikule sihtrühmale. Kui sinu põhiline sihtrühm on Euroopas, testi Frankfurtist või Londonist, mitte San Franciscost.

2. Käivita koormustestimine

Järgmine samm on kontrollida, kuidas sinu sait koormuse all käitub. Load Impacti teenus oli varem peamine tööriist, kuid 2021. aastal omandas selle Grafana ja taaskäivitas selle kui k6, avatud lähtekoodiga koormustestimise tööriista.

Koormustesti käivitamise aken k6 teenuses

k6 võimaldab simuleerida määratud arvu virtuaalseid kasutajaid, kes sinu saiti samaaegselt külastavad. Grafana Cloudi tasuta pakett sisaldab kuni 500 virtuaalset kasutajat kuus, mis on piisav väikese või keskmise saidi regulaarseks testimiseks. Test võtab aega kuni viis minutit.

Koormustesti tulemuste graafik VU ja vastuseaja joontega

Tulemus kuvatakse kolme joonega diagrammina. Roheline joon näitab virtuaalsete kasutajate (VU) arvu, mis järk-järgult suureneb. Sinine joon näitab serveri reageerimisaega: kui see paindub järsult ülespoole, on see kriitiline punkt, kus sinu sait hakkab hanguma. Lilla joon näitab serverile tehtud päringute arvu. Kui päringuid on palju, kuid reageerimisaeg püsib stabiilsena, on sinu sait hästi seadistatud. Sinise joone järsk hüpe annab märku optimeerimisvajadusest.

3. Kontrolli saidi konfiguratsiooni kvaliteeti

Kolmas samm on tehnilise poole auditeerimine: skriptid, stiilid, vahemälu ja ümbersuunamised. Selleks kasuta GTmetrixit, tööriista, mis käivitab sinu saidi läbi kümnete kontrollide ja annab üldskoori.

GTmetrixi saidi optimeerimise kontrollnimekiri

Protsess on sama: sisesta URL ja käivita test. Minuti või paari jooksul saad üksuste kaupa jaotuse: piltide optimeerimine, JavaScript, CSS, brauseri vahemälu, HTTP-päringud, ümbersuunamised ja palju muud. Iga üksuse juurde kuuluvad konkreetsed soovitused, näiteks „pilt header-bg.png kaalub 1,2 MB, tihenda 200 KB-ni".

Saidi lõplik jõudlusskoor GTmetrixis

Lõplik täht hinne, vahemikus A kuni F, annab kiire ülevaate sinu saidi tervisest. B või A on suurepärane. C tähendab, et arenguruumi on. D või madalam tähendab, et on aeg jõudlusega tõsiselt tegeleda. GTmetrix pakub ühe konto kohta 25 tasuta testi kuus, mis on regulaarseks jälgimiseks piisav.

4. WordPressi pluginate profileerimine

Viimane pusletükk on mõista, milline plugin tarbib kõige rohkem ressursse. Klassikaline tööriist selleks, P3 Plugin Performance Profiler, ei ole alates 2019. aastast uuendatud ja töötab kaasaegsetel PHP versioonidel ebastabiilselt.

P3 Profileri plugina leht WordPressi kataloogis

Kaasaegne asendus on AIO Performance Profiler (endise nimega All-In-One Performance Accelerator). Põhimõte on sama: paigalda ja aktiveeri plugin, seejärel käivita automaatne skaneerimine jaotise „Tools" kaudu.

Plugina automaatse skannimise aken P3 Profileris

Pärast skaneerimist saad diagrammi, kus iga plugin kuvatakse eraldi plokina, mis teeb kohe selgeks, milline neist tarbib kõige rohkem protsessori aega.

Diagramm plugina mõjust saidi kiirusele

Ole halastamatu: kui plugin kulutab ebaproportsionaalselt palju laadimisaega, kuvades samal ajal külgribal ainult „seotud postituste" vidinat, asenda see kergema alternatiiviga või eemalda täielikult. Boonusena suudab AIO Performance Profiler mitte ainult profileerida, vaid ka skripte ja stiile pakkida, andmebaasi puhastada ning vahemälu lennult lubada.

Kuidas jõudlusprobleeme lahendada

Pärast koormustesti läbimist ja pudelikaelte tuvastamist on aeg probleemid lahendada. Siin on neli valdkonda, mis annavad WordPressi puhul suurima kiirusvõidu.

Kasuta CDN-i

CDN (Content Delivery Network) on geograafiliselt hajutatud serverivõrk, mis toimetab sisu kasutajateni lähimast sõlmpunktist.

CDN-i sisu edastamise võrgu tööpõhimõtte diagramm

Kui Berliinist pärit külastaja avab saidi, mis asub Dallase serveris, liigub iga päring ilma CDN-ita üle Atlandi ookeani. CDN-iga serveeritakse staatilised failid (pildid, CSS, skriptid) Euroopa sõlmpunktist, vähendades latentsust märgatavalt. Populaarsed valikud WordPressi jaoks on Cloudflare (tasuta pakett katab põhivajadused) ja BunnyCDN (tasuline, kuid odav ja kiire).

Optimeeri pildid

Pildid on tavaliselt lehe kõige raskem element. HTTP Archive'i uuringute kohaselt võivad need keskmisel saidil moodustada üle poole kogumahust.

Originaalse ja optimeeritud pildi võrdlus

Tihenda pilte ilma nähtava kvaliteedikaota. Töölauatööriistadest kaalu ImageOptim (macOS) ja JPEGmini (Windows/macOS). Automaatseks optimeerimiseks otse WordPressis paigalda plugin Imagify, mis tihendab pildid üleslaadimisel ja teisendab need AVIF- või WebP-vormingusse, mis on sama visuaalse kvaliteedi juures 30-50% kergemad kui JPEG.

Luba vahemälu

Vahemälu plugin salvestab lehest valmis HTML-koopia ja serveerib seda järgmistele külastajatele, ilma et peaks seda uuesti PHP ja andmebaasi kaudu kokku panema. Kui sinu saidil on sada külastajat tunnis, paneb mootor ilma vahemäluta sama lehe sada korda nullist kokku. Vahemäluga paneb ta selle ühe korra kokku ja serveerib koopiat koheselt 99 korda.

Tasuta lahenduste seas on liidrid W3 Total Cache ja WP Super Cache. W3 Total Cache pakub peenemat kontrolli: lehe vahemälu, andmebaasi vahemälu, objekti vahemälu, brauseri vahemälu ja CDN-i integreerimine ühes liideses. WP Super Cache on lihtsam ja sobib neile, kes ei taha kümnete seadistustega tegeleda (lihtsalt lülita sisse ja see töötab). Kui sinu majutus töötab LiteSpeedi serveril, paigalda LiteSpeed Cache, mis on selle arhitektuuri jaoks häälestatud ja näitab selles paaris parimaid tulemusi.

Lülita sisse Brotli pakkimine

Brotli on kaasaegne pakkimisalgoritm, mis asendas Gzipi. Tekstifailide (HTML, CSS, JavaScript) puhul ületab see pakkimisastmelt Gzipi järjepidevalt, säilitades samas võrreldava kiiruse. Täpsed numbrid sõltuvad sisu struktuurist, kuid kasu on märgatav igal saidil. Enamik kaasaegseid brausereid toetab Brotlit ja sa saad selle sisse lülitada majutuse seadete või vahemälu plugina kaudu. W3 Total Cache ja LiteSpeed Cache toetavad seda kohe algusest.

Video: WordPressi koormustestimine praktikas

Teooria on tore, kuid otseesitlus annab tervikpildi. See video näitab, kuidas seadistada WordPressi koormustesti ja tõlgendada tulemusi alates käivitamisest kuni graafikute analüüsini.

⁉️🤔 Korduma kippuvad küsimused

Kas koormustest võib mu saiti kahjustada?

Test ise ei lõhu midagi. Aga kui server töötab juba niigi võimsuse piiril, võib lisakoormus selle ajutiselt kättesaamatuks muuta. Praktikas on kokkujooksmised harvad: 25-50 virtuaalkasutajat on tänapäevase majutuse jaoks tavapärane olukord. Ohutuse mõttes tee test hilisõhtul, kui päris külastajaid pole peaaegu üldse.

Kas ma vajan koormustesti, kui mu saidil on 200 külastajat päevas?

Jah, kuid kohanda skaalat vastavalt. Ära testi hüpoteetilist 10 000 kasutajat; testi realistlikku tippkoormust, näiteks 50 samaaegset kasutajat. Isegi tagasihoidliku liikluse korral tuvastab koormustest pudelikaelad, mis on tavatingimustes nähtamatud, kuid ilmnevad vähimagi hüppe korral, näiteks kui otsingumootor tõstab ühtäkki postituse tippu.

Mille poolest erineb k6 JMeterist?

JMeter on raske Java raamistik graafilise liidesega, mis nõuab paigaldamist ja seadistamist. k6 on kerge avatud lähtekoodiga tööriist, mis on kirjutatud Go keeles ja töötab käsurealt. WordPressi saitide jaoks on k6 mugavam: kirjutad stsenaariumi JavaScriptis, käivitad selle ühe käsuga ja saad tulemused terminalis. JMeter on õigustatud ettevõttekeskkondades keerukate stsenaariumide korral, samas kui k6 on kiirete testide jaoks minimaalse vaevaga.

Millise vahemälu plugina peaksin valima?

Kui sinu majutus kasutab LiteSpeedi, paigalda LiteSpeed Cache, mis annab selles paaris parima jõudluse. Apache/Nginxi puhul: kui vajad paindlikku seadistust, kasuta W3 Total Cache'i; kui eelistad „seadista ja unusta" lähenemist, kasuta WP Super Cache'i. Kõik kolm on tasuta ja neid uuendatakse aktiivselt 2026. aastal.

Kas ma peaksin koormusteste regulaarselt kordama?

Jah, pärast iga suuremat muudatust: teema vahetus, uue raske plugina paigaldamine, kolimine teisele majutusele. Stabiilse saidi puhul piisab kord kvartalis (selleks ajaks on kogunenud piisavalt väikseid muudatusi, et pilt võib olla muutunud).

Kas sinu sait peab koormusele vastu?

WordPressi koormustest ei ole ühekordne sündmus, vaid harjumus. Eespool kirjeldatud neli sammu võtavad aega ühe tunni ja kasutavad ainult tasuta tööriistu. Pingdom näitab kiirust, k6 surub serveri piirini, GTmetrix leiab seadistusprobleemid ja AIO Performance Profiler tuvastab pluginate pudelikaelad. Koos annavad need tervikpildi sellest, kuidas sinu sait käitub, kui liiklus hüppeliselt kasvab.

Tee need neli sammu juba täna, salvesta tulemused lähtetasemena ja korda kuu aja pärast. Kui reageerimisaeg koormuse all ei ole kasvanud, on sinu sait heas korras. Kui on, siis tead, kust otsida: CDN, pildi pakkimine, vahemälu ja Brotli lahendavad valdava enamuse WordPressi jõudlusprobleemidest.