Megosztott tárhelyen a tárhelyfiókok közös adatbázis-szerveren (MySQL vagy MariaDB) osztoznak. Ha egy fiók nagyon sok vagy nagyon nehéz lekérdezést futtat, az a szerveren lévő összes weboldal adatbázisát lelassíthatja. Ezt akadályozza meg a CloudLinux MySQL Governor nevű komponense.
Hogyan működik?
A MySQL Governor valós időben figyeli, hogy az egyes fiókok lekérdezései mennyi processzoridőt és lemezműveletet használnak. Amíg a fiók a megengedett kereten belül marad, semmi nem történik.
Ha egy fiók túllépi a keretet, a Governor a lekérdezéseit a fiók saját erőforrás-keretében (LVE) futtatja tovább. Ugyanabban a keretben fut a weboldal PHP-kódja is, így a fiók adatbázis- és PHP-folyamatai együtt osztoznak a csomagjához tartozó erőforrás-limiteken. Ha a terhelés csökken, a korlátozás rövid idő után magától megszűnik.
A szerver beállításától függően a Governor a nagyon hosszan (például több tíz másodpercig) futó SELECT lekérdezéseket meg is szakíthatja. Más típusú lekérdezéseket (írást, módosítást) nem szakít meg.
Mit tapasztal ilyenkor?
- Az adatbázist használó oldalak (például a WordPress oldalai vagy a webáruház terméklistái) lassabban töltődnek be.
- A lassabb lekérdezések miatt a PHP-kérések tovább futnak, ezért gyakrabban telik be az egyidejű kapcsolatok száma, ami 508-as hibát is okozhat.
- A cPanel Erőforrás-használat oldalának grafikonjain az adatbázis használata kék vonallal látszik, a Snapshot fülön pedig a limit elérésekor futó adatbázis-lekérdezések is megjelennek. Részletek: Mit jelentenek a hibaszámlálók (faults) az Erőforrás-használat oldalon?
A korlátozás nem büntetés, és nem érinti az adatok épségét: csak azt biztosítja, hogy egy fiók adatbázis-terhelése ne menjen a többi weboldal rovására.
Hogyan csökkentheti az adatbázis terhelését?
- Gyorsítótárazás: az oldal-gyorsítótár a legtöbb látogatást adatbázis-lekérdezés nélkül szolgálja ki. Tippek: Hogyan gyorsítsam fel a WordPress oldalamat?
- Az adatbázis karbantartása: a felesleges revíziók, lejárt átmeneti adatok (transient) és a spam-hozzászólások törlése, valamint a táblák optimalizálása. Részletes útmutató: Adatbázis-optimalizálás WordPresshez.
- Indexek: saját fejlesztésű alkalmazásnál a gyakran szűrt és rendezett oszlopokra tegyen indexet. Egy hiányzó index miatt egy lekérdezés a teljes táblát végigolvassa.
- Nehéz bővítmények: a statisztika-, napló- és keresőbővítmények gyakran minden oldalbetöltésnél írnak az adatbázisba. Ellenőrizze, melyikre van valóban szüksége.
- Időzített feladatok: a nagy importálásokat, exportokat és jelentéseket futtassa forgalommentes időszakban, lásd: Hogyan számít bele a cron és az SSH az erőforrás-limitekbe?
Ha nem tudja, mely lekérdezések okozzák a terhelést, írjon ügyfélszolgálatunknak, és segítünk kideríteni.