Autor Zpráva
Vladimír Zeman
Profil
Chtěl bych na svém webu nějak zjistit, jak moc každé připojení k databázi (nebo každý php skript) zatěžuje server. Následně bych se pokusil ty nejvíce zatěžující věci nějak omezit či odladit.

Je na to nějaký program nebo dobrý postup?
djlj
Profil
Na dotazy použij třeba EXPLAIN v MySQL.
Vladimír Zeman
Profil
To není zrovna to, co jsem si představoval. Zkoušel jsem googlit, co to vlastně EXPLAIN je a žádný jiný smysl, nežli při indexování, v tom nevidím. Indexování pro mě stejně nemá smysl, jelikož by to bylo ještě náročnější, nežli normální výběr.

Já bych spíš něco v tom smyslu, že by se provedl dotaz a vypsala se třeba hodnota, jak dlouho dotaz trval, nebo jak moc zatížil databázi. Prostě něco, podle čeho by se dalo porovnat, že tento dotaz je 5x náročnější než dotaz druhý...
ninja
Profil
Vladimír Zeman: jeslti pro tebe indexy nemaji zadny vyznam, tak je asi zbytecne uvazovat o nejake optimalizaci. Rika ti treba neco normalizace databaze?

Pokud chces merit kolik ti jednotlive SQL dotazy berou casu, tak si jednoduse uloz cas tesne pred spustenim dotazu, pak po spusteni a vysledky odecti.
Vladimír Zeman
Profil
ninja
Indexy pro mě nemají smysl z toho důvodu, poněvadž vždy vybírám všechna data (jen pokaždé jinak seřazená) a třídim je dle LIMIT 0,10 apod. Ať tedy použiji jakýkoli indexování, vždy se projdou všechny záznamy z databáze a ne jen potřebných 10.

Pokud chces merit kolik ti jednotlive SQL...
Jenže všechny dotazy se provedou během vteřinky, což je poměrně špatně měřitelné..

Jinak normalizace databaze mi nic nerika.
Mastodont
Profil
Vladimír Zeman
Funkce microtime, čas na začátku a konci skriptu odečíst. Měří mnohem přesněji než na celé sekundy.
Vladimír Zeman
Profil
ninja
Tak to s těma indexama beru zpět. Nastavil jsem, jen tak na zkoušku, indexování u tabulky s komentářema ke článkům (která obsahuje cca 95000 řádků) a při každém zobrazení článku se tedy procházelo všech 95000 řádků. Po indexaci to procházelo jen nějakých 20-30 řádků.

Když jsem potom koukal, jak se to projevilo na grafu zatížení CPU, tak jsem tomu vůbec nevěřil. Ve špičce je počet připojení k tabulce s komentáří v průměru 5 za vteřinu a zatížení serveru kleslo z 90% na nějakých 30%.
djlj
Profil
Vladimír Zeman
I když jen řadíš podle nějakého sloupce, není od věci na něj nastavit index.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0