Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 28. 03. 2012 14:15

Lukee
Administrátor
Místo: Opava
Příspěvky: 1850
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Optimalizace celého webu

Protože máme opět problém s přetížením, tentokrát databáze, je nutné to nějakým způsobem řešit. Od této chvíle se hlavní strana nepřihlášeným uživatelům cachuje. To znamená, že když nepřihlášený uživatel přijde na hlavní stranu, může dostat až dvě minuty starý výsledek. Systém si uloží výsledek z databáze na disk a aktualizuje ho nejdříve za dvě minuty. Statistiky, které jsou dole na hlavní stránce, se cachují všem uživatelům a to na hodinu.

Pokud zaznamenáte nějaké nepříjemnosti s tímto řešením, tak je prosím napište do tohoto vlákna. Nepříjemnost může být, když starý výsledek obdržíte i po přihlášení, když se vám zobrazí mnohem starší výsledek nebo něco podobného.

Optimalizace budou pokračovat, hlavní strana je jen začátek.

(Pro zvědavce: napsal jsem skript, který loguje počet SELECT dotazů do databáze a ukládá je na web do souboru. První číslo jsou nepřihlášení uživatelé, druhé přihlášení. Před implementací cache tam bylo cca 9krát více dotazů pro nepřihlášené.)


2+2=4

Offline

 

#2 28. 03. 2012 23:28

Lukee
Administrátor
Místo: Opava
Příspěvky: 1850
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Re: Optimalizace celého webu

Přidal jsem ještě cachování seznamu příspěvků v kategorii, tj. například Připomínky a nápady. Funguje to na trochu jiném principu. Cache má nastavenou maximální dobu existence na pět minut, ale maže se sama také v případě, kdy se seznam změní. Tj. když někdo pošle nový příspěvek do sekce Základní škola, cache soubor pro Základní školu se automaticky smaže a uživatel tak dostane čerstvé výsledky. Cache se dále maže v těchto případech: nové vlákno v kategorii, nějaký příspěvek se zamkne/odemkne, vyřeší/odřeší, přesune. Cache je opět pouze pro nepřihlášené, ačkoliv by asi nic nebránilo tomu, aby fungovala i přihlášeným.

Problémy:
— Nepřihlášení nevidí aktuální stav počtu zobrazení daného vlákna. To není nijak kritické, navíc uvažuji, že to stejně úplně zruším, protože to generuje poměrně hodně, i když jednoduchých, SQL dotazů do databáze.
— Cache se neaktualizuje při zvýraznění vlákna. To je natolik ojedinělá událost, že se mi to nechtělo programovat.
— Po těch akcích, které mažou cache, se maže cache pouze pro první dvě strany seznamu vláken. Pokud tak někdo pošle nové téma do Základní školy, smaže se cache pro stranu jedna a dva, strana tři už se z cache nevymaže a zůstanou tam stará data. To by opět nemělo moc vadit, na třetí stranu snad skoro nikdo nechodí a v chybném stavu strana zůstane maximálně pět minut, pak se cache smaže sama.


2+2=4

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson