Ultimátní test webhostingů – vytížení databází za poslední týden

Prozatím mí roboti ještě nesesbírali dostatek dat pro vyhodnocení dalšího testu, kde se ukáže jak se databáze jednotlivých služeb zahrnuté do Ultimátního testu webhostingů, dokáží poradit s nárazovou návštěvností. Ovšem podařilo se mi už získat slušný vzorek, abychom se mohli podívat jak vytížené jsou databáze během jednotlivých dnů a hodin v týdnu. Tato data jsem převedl na heatmapu.

Metodika

Měření vychází ze starého testu WP Benchmark, který však pro dnešní dobu už je zastaralý. Tento benchamark měřil za jak dlouho se provede INSERT, UPDATE, SELECT a DELETE na tabulku wp_options. Což je velice chytrá myšlenka, protože patří mezi nejvytíženější tabulky. V závislosti na počtu používaných pluginů (bez cache) se počet SQL dotazů na tuto tabulku pohybuje od 35 – 50 % na homepage. Testovací instalace mají na homepage 28 %. V administraci se snadno dostanete i přes 60 %.

Na rozdíl od WP Benchmark měřím rychlost jednotlivých druhů dotazů samostatně. V dnešní době už je totiž běžné optimalizovat databáze třeba pro SELECT (hledání dat v databázi), kterých používáte většinu. Sedm let starý WP Benchmark, tak znevýhodňuje opravdu odladěné databáze.

Samotný proces benchmarku je jednoduchý a není ani nijak náročný pro dnešní databáze. Vezmete 50 řetězců Lorim Impsum o délce 445 znaků, spojíte je do jednoho. Tento nový řetězec je hodnota sloupce option_value. Dále si vygenerujete řetězec option_name, který je vždy unikátní, aby jej nemohl databázový server cachovat. Do wp_options vložíte 1000 záznamů s unikátním option_name a stejným option_value. Následně každý z nich zkusíte najít přes SELECT (celkem 1000 operací), pak u každého upravíte hodnotu option_value (UPDATE) a nakonec je po jednom smažete (DELETE).

U každé operace se zaznamenává čas, z kterého se vypočte kolik by daných druhů operací zvládl za vteřinu.

Celý test se provádí přes WordPress. Udělat jej bez něj by bylo možná rychlejší, ale jak jste si jistě všimli, tak zatím všechny testy se zaměřuji právě na rychlost WordPress.

Většina webhostingů zvládne tento test pod 2 vteřiny. Operace SELECT, DELETE a UPDATE jsou fakt rychlé, takže se dopočítává kolik by SQL dotazů mohli stihnout, než kolik jich stihly. Jistě šlo by navýšit počet iterací z 1000 třeba na 20000 a získat přesnější čísla, ale to už zavání přetěžováním. Tyto malé a nenáročné testy si tak v klidu mohu opakovat každých 10 minut, aniž by server zatížili více než jeden průměrný problémovější WordPress bez cachování.

Když jsem si výsledky zobrazil na grafu, tak jsem viděl jak právě SELECT, DELETE a UPDATE lítají nahoru a dolů. Mají desítky procent rozdílů. Naproti tomu INSERT se chová víceméně stabilně.

Ukážeme si to na grafu z beta testu WMS, kde jsem plugin vyvíjel a testoval. Prostě INSERT se pro ukázku zatížení hodí nejlépe.

Získaná data

Získaná data jsou z 11 testovaných webhostingů, jejichž seznam najdete na stránce Ultimátního testu webhostingů. Jsou za posledních 7 dní. Pro vytvoření grafu bylo použito 12 tisíc testů, tedy 12 milionů SQL dotazů 🙂

Jen pro zajímavost celkové průměry na 1000 SQL dotazů za poslední týden jsou:

  • Průměr SELECT 2896
  • Průměr INSERT 555
  • Průměr UPDATE 1693
  • Průměr DELETE 2567

Závěr

Čím modřejší tím větší aktivita je na serverech hostingů, tedy i nejvíce rušno. Naopak červeně jsou hodiny, kdy se databázové servery nudí.


Jak bude reklama vypadat?
-
Nechceš zde reklamu napořád jen za 60 Kč?
Zobrazit formulář pro nákup

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.