7 modulis · 7.2
Ko e. parduotuvei reikia iš talpinimo
7 modulis: Matomumas paieškoje ir talpinimas · Skaitymo laikas: 10 min.
Mokymosi tikslas: Po šios pamokos galėsite įvertinti, ar talpinimo planas tinka WooCommerce e. parduotuvei, patikrinti ir pakeisti svarbiausius PHP nustatymus bei atpažinti, kada Jūsų planas tampa per mažas.
Pagrindinės sąvokos: serverio rekomendacijos, PHP versija, WordPress atminties riba (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, duomenų bazė, objektų podėlis, CPU, procesai, 503, Resource Limit Is Reached, WooCommerce > Statusas, augimas
E. parduotuvė yra sunkesnė nei paprasta svetainė
Paprasta WordPress svetainė su puslapių podėliu daugumai lankytojų pateikia iš anksto išsaugotą HTML. E. parduotuvė tai gali daryti tik iš dalies (pamoka 6.4): krepšelis, atsiskaitymas ir Mano paskyra kiekvienam lankytojui sukuriami iš naujo, o kai tik kas nors įdeda prekę į krepšelį, jis gauna sesiją ir podėlis jam dažnai nebetaikomas. Be to:
- kiekvienas užsakymas rašo į duomenų bazę (užsakymą, eilutes, adresus, atsargas, pastabas);
- mokėjimų paslaugų teikėjas per webhook praneša, kad apmokėta, ir į šią užklausą reikia greitai atsakyti;
- WooCommerce turi suplanuotų veiksmų, kurie vykdomi fone (pamoka 7.3);
- administravimas (užsakymai, ataskaitos, prekių redagavimas) yra sunkesnis nei tinklaraščio.
E. parduotuvė, kuri mažame plane puikiai veikia su dešimčia užsakymų per dieną, per išpardavimą su šimtais vienu metu besilankančių lankytojų gali užstrigti. Todėl verta žinoti, ką gali Jūsų planas.
Ką rekomenduoja WooCommerce
WooCommerce skelbia rekomenduojamus serverio nustatymus (2026 m. lapkričio būklė, 10.8 ir naujesnėms versijoms):
| Komponentas | Rekomendacija |
|---|---|
| WordPress | 6.9 arba naujesnė |
| PHP | 8.3 arba naujesnė (išbandyta iki 8.4 imtinai) |
| Duomenų bazė | MySQL 8.0 arba naujesnė, arba MariaDB 10.6 arba naujesnė |
| WordPress atminties riba | 256 MB arba daugiau |
| HTTPS | privaloma |
Tai rekomendacijos, o ne minimumas: pačiam įskiepiui įdiegti reikia PHP 7.4. Tačiau e. parduotuvė su sena PHP versija veikia lėčiau ir nebegauna saugumo atnaujinimų. Kaip saugiai pereiti prie naujesnės PHP versijos, aprašyta WordPress kurso pamokoje 8.4; e. parduotuvei procesas toks pat, tik bandomojoje aplinkoje (staging) ypač kruopščiai išbandykite atsiskaitymą ir mokėjimą.
Kur matyti, ką turite dabar? Skiltyje WooCommerce > Statusas (Sistemos būsena). Ten, dalyje WordPress aplinka, rasite, be kita ko, WordPress atminties ribą, o dalyje Serverio savybės: PHP versiją, PHP ribas ir duomenų bazės versiją. Kilus problemoms, programuotojas arba įskiepio pagalbos tarnyba dažnai paprašo šios ataskaitos; mygtuku sistemos ataskaitai gauti ("Get system report") ją nukopijuosite.
Svarbūs PHP nustatymai
E. parduotuvėje dažniausiai susiduriama su keturiais nustatymais:
- memory_limit (ir WP_MEMORY_LIMIT): kiek darbinės atminties gali naudoti viena PHP užklausa. Kai jos per mažai, rodomas baltas puslapis arba "Allowed memory size exhausted", dažnai generuojant ataskaitas, importuojant arba redaguojant didelę kintamą prekę. WooCommerce rekomenduoja 256 MB WordPress atminties ribą. WordPress naudoja reikšmę iš wp-config.php (
WP_MEMORY_LIMIT), bet niekada ne daugiau, nei leidžia pats PHP. - max_execution_time: kiek laiko gali trukti viena užklausa. CSV importas arba tūkstančio užsakymų eksportas gali trukti ilgiau nei numatyta. Geriau importuoti mažesnėmis dalimis, nei nustatyti labai aukštą ribą.
- max_input_vars: kiek laukų gali išsiųsti forma. Kintamos prekės su daug variantų arba didelio meniu atveju administravimo sritis siunčia šimtus laukų. Jei riba per maža, paskutiniai laukai tyliai atmetami: paspaudžiate Atnaujinti, klaidos nematote, bet dalis variantų neišsaugota. Jei tai pastebėjote, padidinkite reikšmę (pavyzdžiui, iki 3000 arba 5000) arba sukurkite mažiau variantų (pamoka 3.2).
- upload_max_filesize ir post_max_size: koks didelis gali būti įkeliamas failas. Tai svarbu prekių nuotraukoms ir atsisiunčiamoms prekėms (pamoka 3.3).
Daugumoje talpinimo paslaugų šias reikšmes keičiate valdymo skydelyje. WebOké tai daroma DirectAdmin, Jūsų plano PHP nustatymuose (žr. KB 212 ir KB 200); kitų teikėjų sistemos veikia panašiai, kartais per .user.ini arba php.ini langą. Keiskite po vieną reikšmę ir skiltyje WooCommerce > Statusas patikrinkite, ar ji pritaikyta.
Kada planas tampa per mažas
Bendrojo talpinimo planai turi ribas: kiek CPU, kiek atminties ir kiek procesų vienu metu. WebOké ir kitose talpinimo paslaugose su CloudLinux jas matote DirectAdmin, Jūsų plano naudojimo skiltyje. Jei e. parduotuvė jas viršija, lankytojai gauna 503 arba pranešimą, pavyzdžiui, "Resource Limit Is Reached". E. parduotuvei tai ypač nemalonu: klientas, kuris kaip tik nori sumokėti, arba mokėjimų paslaugų teikėjo webhook, negaunantis atsakymo, todėl apmokėtas užsakymas lieka būsenoje "Neapmokėtas".
Prieš rinkdamiesi didesnį planą, pirmiausia išsiaiškinkite, kas sukelia apkrovą. Dažniausios e. parduotuvių priežastys:
- nėra puslapių podėlio arba jis netinkamai nustatytas (pamoka 6.4);
- robotai, naršantys per filtrus, paieškos rezultatus arba
?add-to-cart=nuorodas; - WP-Cron kiekvieno apsilankymo metu ir perpildyta suplanuotų veiksmų eilė (pamoka 7.3);
- sunkūs įskiepiai arba tema, kuri kiekviename puslapyje siunčia daug užklausų į duomenų bazę;
- nėra objektų podėlio (Redis), kai prisijungusių klientų daug (pamoka 6.4).
Priežastį rasti padeda Jūsų plano naudojimo apžvalga, žurnalai ir kai kuriose talpinimo paslaugose tokia priemonė kaip PHP X-Ray, rodanti, kuri funkcija kiekviename puslapyje veikia lėtai (KB 227).
Jei e. parduotuvė sutvarkyta gerai, o ribas vis tiek pasiekiate, augti yra pagrįsta: didesnis planas arba nuosavas serveris (VPS), kuriame patys nustatote, kiek PHP procesų gali veikti. Šis žingsnis reikalauja ir daugiau administravimo. Neplanuokite jo pačią judriausią savaitę; pirmiausia išbandykite naujoje vietoje (pamoka 7.3).
Kas dar reikalinga e. parduotuvei
Be PHP, e. parduotuvei iš talpinimo reikia:
- HTTPS su automatiniu sertifikato atnaujinimu (WordPress kursas, pamoka 3.1);
- atsarginių kopijų, daromų pakankamai dažnai Jūsų užsakymams, ir atkūrimo bandymo (pamoka 6.2);
- tikro cron suplanuotoms užduotims (pamoka 7.3);
- patikimo el. pašto arba sąsajos su el. pašto paslauga (pamoka 6.1);
- bandomosios aplinkos (staging) galimybės (pamoka 7.3);
- pakankamai didelės duomenų bazės: užsakymų ir suplanuotų veiksmų kasdien daugėja.
Arbatinės Example e. parduotuvė Utrechte (Nyderlanduose) pradėjo veikti įprastame talpinimo plane. Po naujienlaiškio su nuolaida per valandą atėjo daugiau srauto nei paprastai per savaitę, ir mokėjimai užstrigo. Naudojimo apžvalgoje nuolat buvo pasiektas didžiausias procesų skaičius. Priežastis: po temos atnaujinimo buvo išjungtas puslapių podėlis. Įjungus podėlį, kita akcija praėjo be 503.
Santrauka
- E. parduotuvė yra sunkesnė nei paprasta svetainė: dinaminiai puslapiai, rašymas į duomenų bazę, webhook ir suplanuoti veiksmai.
- WooCommerce rekomenduoja PHP 8.3+, MySQL 8.0+ arba MariaDB 10.6+, 256 MB atminties ribą ir HTTPS; savo reikšmes matote skiltyje WooCommerce > Statusas.
- Atkreipkite dėmesį į memory_limit, max_execution_time, max_input_vars (tylus duomenų praradimas esant daug variantų) ir įkėlimo ribas.
- 503 arba Resource Limit Is Reached reiškia, kad pasiektos plano ribos; pirmiausia ieškokite priežasties, tik tada auginkite planą.
Testas (quiz)
Užduotis
Užduotis A7.2: Ar Jūsų PHP tinka WooCommerce? Atidarykite WooCommerce > Statusas ir užsirašykite PHP versiją (Serverio savybės) bei WordPress atminties ribą MB (WordPress aplinka). Įveskite savo e. parduotuvės adresą ir šias dvi reikšmes. Programa suranda Jūsų PHP versijos šaką php.net lentelėje (kurios versijos dar gauna atnaujinimus) ir patikrina, ar pagrindinis puslapis rodo antraštės eilutę X-Powered-By su PHP versija. Žalia, jei Jūsų šaka dar aktyviai palaikoma ir yra ne žemesnė nei 8.3, o atminties riba ne mažesnė nei 256. Oranžinė, jei Jūsų šaka gauna tik saugumo atnaujinimus, yra žemesnė nei 8.3, bet dar palaikoma, jei atminties riba yra nuo 128 iki 255 arba jei Jūsų svetainė rodo PHP versiją antraštės eilutėje. Raudona, jei Jūsų šaka nebegauna atnaujinimų arba yra nežinoma, atminties riba mažesnė nei 128 arba antraštės eilutė rodo kitą šaką nei įvedėte ("ar yra kelios PHP versijos?").
Klausimas sau (netikrinamas): ką skiltis WooCommerce > Statusas rodo prie max_input_vars ir didžiausio įkeliamo failo dydžio? Ar to pakanka Jūsų didžiausiai prekei ir didžiausiam atsisiunčiamam failui?
Platesniam skaitymui
Šiuose straipsniuose aprašyti veiksmai WebOké valdymo skydeliuose; kituose skydeliuose jie atliekami panašiai.
- PHP versijos ir PHP nustatymų keitimas (ir ką daryti, jei po atnaujinimo atsiranda klaidų)
- Nepavyksta įkelti failo: padidinkite upload_max_filesize ir max_execution_time reikšmes
- DirectAdmin vadovas 14.1: PHP versijos pasirinkimas (Select PHP version)
- DirectAdmin Resource Usage ir lėtai veikiančios svetainės (Resource Limit Is Reached)
- DirectAdmin vadovas 17.5: 503 arba „Resource Limit Is Reached“: ką daryti?
- Nemokamas WordPress kursas 8.4: PHP versijos ir atnaujinimai
- Server requirements (woocommerce.com, anglų kalba): https://woocommerce.com/document/server-requirements/
