Operačná pamäť je pri VPS s WordPressom najčastejšie úzke hrdlo. Keď jej je málo, PHP procesy sa začnú prať o miesto a web buď spomalí, alebo začne hádzať chyby. Keď jej naopak predplatíte zbytočne veľa, platíte za výkon, ktorý nevyužijete. V tomto článku si prejdeme, koľko RAM dáva pre WordPress reálne zmysel — a hlavne podľa čoho to spoznať, lebo univerzálne číslo neexistuje.

Rovno na úvod jedno upozornenie: nenechajte sa zlákať marketingovými tabuľkami, ktoré sľubujú „web pre 100 000 návštev na 1 GB RAM". Také číslo platí len pre ideálny, dobre zacachovaný web bez náročných pluginov. Realita býva pestrejšia a pamäť dochádza rýchlejšie, než cenník naznačuje. Poďme sa preto pozrieť, čo spotrebu riadi naozaj.

Čo pamäť na WordPresse spotrebúva

Aby ste mohli odhadnúť potrebu pamäte, je dobré vedieť, kam vlastne mizne. Na typickom VPS sa o RAM delia štyri skupiny spotrebiteľov: operačný systém, webový server, PHP a databáza. Každý z nich má iný apetít a každý sa správa inak pri raste návštevnosti.

Operačný systém a služby na pozadí

Samotný Linux s bežnou konfiguráciou zaberie zhruba 300 až 500 MB ešte predtým, než sa načíta prvá stránka. K tomu sa pridávajú služby bežiace na pozadí — napríklad antispam pri pošte alebo monitoring. To je fixná réžia, ktorú máte na serveri stále, či príde návštevník, alebo nie. Práve preto je pri najmenších VPS s 1 GB RAM táto réžia taká citeľná: na samotný web vám zostane menej, než by ste čakali.

PHP procesy — hlavná premenná

Každá súbežná požiadavka na nezacachovanú stránku spustí PHP proces, ktorý si ukrojí typicky 40 až 120 MB podľa počtu a náročnosti pluginov. Kľúčové slovo je „súbežný" — nezáleží na tom, koľko ľudí príde za deň, ale koľko ich server obsluhuje v rovnakej chvíli. Počet súbežných PHP procesov násobený ich veľkosťou tvorí najväčší tlak na pamäť.

Tieto čísla majú priamy praktický dopad: ak jeden PHP proces zaberie 100 MB a chcete zvládnuť desať súbežných požiadaviek, potrebujete len na PHP zhruba 1 GB — a to ešte nepočítate systém ani databázu. Preto sa pri dynamických weboch pamäť „rozpúšťa" rýchlejšie, než sa zdá.

Databáza MySQL

MySQL si drží v pamäti vyrovnávacie pamäte pre rýchle dopyty. Pri malom webe jej stačí pár sto MB, pri veľkom katalógu alebo e-shope porastie do gigabajtov. Čím viac pamäte databáza dostane, tým menej siaha na disk — a tým svižnejšie web odpovedá. Keď pamäte ubúda, databáza je obvykle prvá, komu sa priškrtí, a prejaví sa to lenivým načítaním administrácie aj webu.

Pluginy rozhodujú viac než počet návštev

Holý WordPress so šablónou je nenáročný. Čo pamäť naozaj vyženie nahor, sú page buildery (Elementor, Divi), ťažké SEO a cache pluginy a hlavne WooCommerce. Platí pritom, že desať dobre napísaných pluginov zaťaží pamäť menej než tri zle napísané. Pred výberom VPS sa preto pozerajte skôr na náročnosť pluginov než na ich počet — a ak môžete, neaktívnych sa zbavte úplne.

Veľkú rolu hrá aj cache. S dobre nastavenou serverovou cache (LiteSpeed Cache, Redis) obslúži server veľkú časť návštev z pamäte, bez toho aby vôbec spustil PHP. Tým sa efektívna potreba RAM výrazne znižuje — rovnaký web bez cache môže potrebovať dvojnásobok pamäte než s ňou.

Contabo
Nemecký poskytovateľ VPS so štedrou pamäťou a veľkým diskom za nízku cenu — vhodný, keď potrebujete veľa RAM lacno.
Detail Contabo →

Tabuľka: koľko RAM zvoliť

Nasledujúce hodnoty počítajú s bežnou konfiguráciou (LiteSpeed alebo Nginx + PHP-FPM + MySQL) a zapnutou serverovou cache, takže veľká časť návštev vôbec PHP nespustí:

  • 1 GB RAM — osobný blog alebo malá prezentácia do ~10 000 návštev mesačne, pár ľahkých pluginov.
  • 2 GB RAM — firemný web alebo blog s page builderom, do ~50 000 návštev. Najčastejší rozumný štart.
  • 4 GB RAM — menší WooCommerce e-shop alebo web s mnohými pluginmi, do ~150 000 návštev.
  • 8 GB RAM a viac — vyťaženejší e-shop, členská sekcia alebo viac webov na jednom serveri.

Tabuľku berte ako východiskový bod, nie ako dogmu. Web s ľahkou šablónou a šikovnou cache pokojne zvládne dvojnásobok uvedenej návštevnosti, kým ťažký e-shop narazí na strop skôr.

Ako zmerať aktuálnu spotrebu

Najlepší odhad je ten z vlastných dát. Ak už VPS prevádzkujete, pozrite sa na reálnu spotrebu pamäte — na Linuxe príkazom free -m pre okamžitý stav alebo htop pre prehľad procesov. Rad hostingov navyše ukazuje graf využitia RAM priamo v ovládacom paneli, kde uvidíte aj špičky počas dňa. Až podľa toho spoznáte, či máte rezervu, alebo sa blížite k stropu.

Swap: záchrana, nie riešenie

Keď dôjde fyzická RAM, siahne systém po swape — odkladá časť pamäte na disk. To web udrží nažive, ale za cenu výrazného spomalenia, lebo disk je rádovo pomalší než pamäť. Swap preto berte ako bezpečnostný vankúš pre krátke špičky, nie ako náhradu chýbajúcej RAM. Ak server swapuje pravidelne, je to jednoznačný signál, že pamäte je málo a je čas pridať.

Viac webov na jednom serveri

Časté nedorozumenie vzniká, keď na jeden VPS umiestnite viac webov. Pamäť sa totiž nesčíta pohodlne — každý web má vlastné PHP procesy aj podiel na databáze, takže tri menšie weby na jednom serveri môžu dohromady spotrebovať viac, než by ste čakali. Ak plánujete prevádzkovať viac projektov, počítajte s pamäťovou rezervou navyše a radšej siahnite rovno po vyššom pláne, než budete každý mesiac balansovať na hrane.

Ako spoznať, že pamäť dochádza

Okrem swapu sledujte aj správanie webu: lenivá administrácia, občasné chyby o vyčerpaní pamäte alebo pády PHP pri importe a aktualizáciách bývajú typické príznaky. Naopak keď sa mesiace držíte hlboko pod limitom, môžete v pokoji zostať na menšom pláne alebo dokonca zísť nižšie. Výhodou VPS je, že pamäť sa dá u väčšiny poskytovateľov navýšiť počas chvíle bez migrácie.

Než ale na VPS vôbec prejdete, overte si, že ho potrebujete — pri rade webov ešte dlho stačí kvalitný zdieľaný hosting. Kedy je čas na prechod, rozoberáme v článku Koľko návštev utiahne zdieľaný hosting. A ak váhate medzi tým, či si server spravovať sami, prečítajte si porovnanie managed a neriadeného VPS.

VPS s 2 GB RAM získate od zhruba 8 € mesačne; pri poskytovateľoch so zavádzacou zľavou si vždy overte aj obnovovaciu cenu, nech vás po roku neprekvapí. Tému rozdielu medzi úvodnou a obnovovacou cenou rozoberáme v článku Pozor na zavádzacie ceny.