Diskuze: PHP cachování
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 14 zpráv z 14.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Měl jsem stejný problém a vyřešil to odchod od wedosu.
Fakt, to může mít takový zásadní vliv Wedos na tom? Nebo se mi to jinde zlepší třeba o sekundu, ale stejně to furt bude špatné a na vině tak bude i nemožnost cachování webu?
Muzes to kesovat do souboru. Pri kazdem ulozeni prepises soubor ve sve slozce cache. Ted to nejspis ukladas jen do db. Takze bys to duplikoval do souboru.
Vyhoda? 99% operaci je typu SELECT. Pokazde vytahujes stejna data znovu.
Takhle si jen zkontrolujes existenci souboru a kdyz existuje, posles ho
uzivateli. Kdyz ne, tak provedes jeho vytvoreni (kontaktujes php, to kontakuje
sql, ...) Da se to resit pres htaccess, takze ani na php nemusis.
Vyhoda? Hostingy, kdyz jsou pomale, sekaji se a kdesi cosi, tak spoustet php je
dost pomala zalezitost.
2. Druha vec, casto byva na hostingu vypnute ob_start a je nutne ho psat do
php kodu. Priklady zde neznam, ale vsadim se, ze jsou o spoustu veci osizene.
Takze se potom nedaji pouzit cross-hosting.
Obvykle se posila stranka pri prvnim echo. Kazde echo odesila cast stranky.
Takze, bud to vse ulozis do promene. a nebo zapnes na zacatku ob_start. A on
kazde echo schova a odesle az vysledek uzivateli jako jednu stranku.
To by mohlo zasadne zrychlit tez nacitani.
Ale wedos nemam, tak netusim, co tam a jak je nastaveno.
Nejsem si jistý, ale momentálně se databázové dotazy nijak neukládají, maximálně pokud na hostingu disponují nějakou keší, jinak ne.
Pro začátek asi zkusím využít tento jednoduchý postup na úpravu databázového wrapperu a uvidím, jestli se to nějak značně změní: https://www.itnetwork.cz/…borove-cache
Nějaký takový způsob jsi měl na mysli tím ukládáním do souboru?
Ahoj,
pošli odkaz na web, ať můžeme kouknout do network console. Takhle je to hodně abstraktní.
A není problém spíše v optimálnějším nastavení DB tabulek, sloupců a k tomu mít uzpůsobené dotazy? Měl jsem praktickou zkušenost, že záměna db klíče u sloupce z 'fulltext' na 'key' měla za výsledek, že 5s se proměnilo v mžik.... na tabulce 170k+ rows
Na odkaz jsem zapomněl, omlouvám se.
Jedná se o https://zabav-deti.cz, který jsem před časem nasadil na novou a hezčí šablonu a až v tomto momentě jsem více pocítil celkové zpomalení, byť ani předtím to nebylo ideální.
Zajímalo by mě, co na tom serveru děláš, že takhle jednoduchej web je pomalej, to snad ani nemůže dělat PHP. Zjisti si časy a počty DB dotazů, pak případně můžeš řešit indexy https://php.vrana.cz/…i-indexu.php
Jinak, nic tě nenutí to celý hned předělávat na Nette MVC, ale můžeš použít jednotlivý komponenty z něj.
Taky se můžeš inspirovat tady a na svuj DB wrapper si udělat panel do Tracy:
https://api.dibiphp.com/…y.Panel.html
https://tracy.nette.org/cs/extensions
Toto nebude Wedosem, sázím na špatnou optimalizaci DB či její nešikovné použití.
Wow, tak to jsem netušil, že když jsem před lety vytvářel celou DB a
moc u toho nepřemýšlel (tou dobou jsem ještě význam indexů moc
nechápal), tak teď přidání jen pár indexů pomohlo opravdu brutálně
Sice v PageSpeedu od Googlu se hodnocení na mobilu zvedlo asi jen o 8 bodů,
ale TTFB spadlo tak, že už mě na to ani měřiče moc neupozorňují. Ještě
to nějak poladím, ale už teď je při načtení stránky patrné obrovské
urychlení, díky díky
Vubec, stranku ukladat do html souboru. Abys nemusel volat ani php ani sql a hned posilal vysledek uzivateli v html.
No, jestli jsi nemel indexy v sql tabulkach, tak to je jasne
V podstate bys mel mit index na vsem, co pouzivas do WHERE nebo pro propojovani
tabulek LEFT JOIN ... ON sloupec = sloupec.
Zobrazeno 14 zpráv z 14.