Autor Zpráva
Cup
Profil
Dobrý den.
Chtěl bych se zeptat zda mi cachování do souboru výrazně zrychlí a odlehčí server, nebo je to blbost.

Jak bych to chtěl řešit.

Na jedné stránce mám cca 30 dotazů na databázi, většinou jednoduché selecty na jednu až dvě tabulky.
Říkal jsem si že je to docela dost a že by třeba pomohlo u dotazů kde se tabulka mění zřídka kdy, cachovat generovaný html obsah,který by měl max 1 - 2 KB a ten jen includovat do stránky. Vždy když by se provedl update nebo insert do tabulky, tak by se zavolala soubor s cachovaným html obnovil.

Na stránce by tak rázem ubylo cca 15 dotazů, ale mohlo by narůst množství souborů. Jedna se o takový malý třídní systém a kdyby v něm bylo 100 tříd jedná se o 15x100 souborů - podotýkám jen pro lepší pochopení mé situace.

No otázka zní, zda mi to cachování s něčím pomůže nebo mysql databáze, o které jsem někde četl že si cachuje poslední dotazy, těchto 15 jednoduchých dotazů zvládne úplně v pohodě a cachování do souboru není třeba :)

Možná že jsem napsal nějakou blbost, tak mě prosím opravte. Děkuji.
ninja
Profil
1. Zamyslete se jestli těch 30 dotazů je opravdu potřeba, jestli to nejde předělat na menší počet.
2. Cache do souboru je rozumné využívat. Nejčastěji se cache obnovuje v pravidelných intervalech několika minut/hodin, ale navázat to na změnu tabulky je také možné. Záleží na významu a důležitosti dat.
Cup
Profil
ninja:
Jelikož si každý uživatel nastavuje vzhled sytému sám a vypisují se mu data pouze pro jeho skupinu, tak je to potřeba. Není jich možná 30, ale všechno jsou to generované části systému z db.

Spíš by mě zajímalo jestli to nějak významně ulehčí mysql, myslím si že ano, ale rád bych to měl od někoho potvrzené nebo vyvrácené.
TomášK
Profil
Cup:
A je MySQL úzké hrdlo? Nebo to jen tipuješ? Já jsem zjistil, že často kód generující stránku trvá déle než dotazy do databáze. Každopádně cachování stránek používám, v podstatě přesně to, co popisuješ. Poskytnutí statické stránky znamená pro celý server menší zátěž, odezvu mi to sníží i 10x (100ms -> 10ms), u náročnějších stránek i více. Ještě o něco rychlejší než cachování na disk je cachování do paměti, umí to třeba memcached, ale tam už je rozdíl v ms, pro mě většinou nezajímavý.
Cup
Profil
TomášK:
Tipuji. Díky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: