SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Stiahnuť

Nastavenie cache

Ako predísť tomu, aby server robil nepotrebnú prácu

Júl 2013

Všetky verzie tohto článku:


V predchádzajúcich lekciách sme začali tvoriť nejaké šablóny. Naša stránka bude čoskoro veľmi úspešná. Na chvíľu sa zastavme a zoberme ohľad na nervové bunky svojho úbohého počítača. V tejto lekcii nebude nič zábavné ani nič dôležité. Tí lenivejší z vás môžu využiť príležitosť a na chvíľu si zdriemnuť.

Zhrnutie pre všetkých, ktorí sa ponáhľajú: v príkaze na zavolanie súboru tutorial.php3 zmeňte $delais=0; na $delais=3600;

...

Keď je požiadavka na nejakú stránku, SPIP najprv zistí, či už nebola vygenerovaná predtým. Ak je požadovaná URL http://www.vasastranka.sk/tutorial.php3?id_article=12, SPIP sa pozrie do podpriečinka CACHE/, aby zistil, či súbor existuje a ak je to tak, porovná vek tohto súboru s hodnotou $delais uvedenou v súbore tutorial.php3.

V našom príklade sme opravili $delais=0;, ktoré spôsobuje neustále, systematické obnovovanie stránky vždy, keď si ju niekto vyžiada. Zmeňme to na $delais=3600; (je to v sekundách).

Preto sa naša stránka obnoví, iba ak si ju návštevník vyžiada a ak je jej verzia v cache staršia ako jednu hodinu (teda 3 600 sekúnd). Ak nie je staršia, SPIP jednoducho prečíta obsah súboru v cache [1], a vráti výsledok bez toho, aby sa spojil s databázou (okrem toho, že zaznamená "hit" do štatistík).

Ako by mali byť tieto oneskorenia $delais nastavené, aby sa optimalizoval výkon servera? Neexistuje žiadne zázračné riešenie, ale neváhajte nastaviť oneskorenie pre články a rubriky na jeden deň (tzn. $delais=24 x 3 600;) alebo viac. Najdôležitejšie stránky navigácie môžu mať kratšie $delais (napríklad 20 minút alebo hodinu) ak chcete, aby vaša stránka reagovala na časté publikovanie noviniek a syndikovaných stránok. Ak používate spoločný server s inými používateľmi, berte na nich ohľad a nenastavujte krátke oneskorenie pre stránky, ktoré sa menia zriedkavo: nebolo by to veľmi praktické, keďže pri dlhých článkoch alebo prehľadoch môže generovanie stránok trvať niekoľko sekúnd, čo iba spomalí prístup na vaše stránky.

Ako sa dá aktualizácia vynútiť? Rozhodli sme sa nastaviť veľmi dlhé oneskorenie pre stránku a potom si všimneme nejakú pravopisnú chybu. Ako môžeme okamžite odstrániť chybu z verejne prístupnej stránky, keď sme ju opravili v súkromnej zóne?

  1. Kliknutie na položku "Zobraziť online" v súkromnej zóne spustí obnovenie stránky zodpovedajúceho článku #URL_ARTICLE alebo zodpovedajúcej rubriky #URL_RUBRIQUE. Toto je najbežnejší spôsob aktualizácie stránky.
     
  2. V menu "Údržba" v súkromnej zóne tlačidlo "Vyprázdniť cache" vymaže všetky súbry v cahe. To je užitočné, ak robíte podstatné zmeny a máte veľmi zložitú stránku, ale inak to radšej nerobte.
     
  3. Iný, veľmi jednoduchý spôsob je použiť tlačidlo "Obnoviť túto stránku", ktoré majú k dispozícii administrátori na verejne prístupnej stránke Toto tlačidlo uvidíte, iba ak ste už predtým z rovnakého počítača navštívili súkromnú zónu, čo spôsobilo, že do vášho počítača bola napísaná cookie, ktorá umožňuje vašu identifikáciu.

Návrat ku kontextu: Tu sa vraciame k pojmu kontext. Ak je šablóna zavolaná s kontextom id_article, id_rubrique alebo id_breve a keď SPIP nájde vašu cookie, uvidíte na verejne prístupnej stránke tlačidlo s názvom "Upraviť tento článok (alebo túto rubriku alebo novinku)", vďaka ktorému sa dostanete priamo na príslušnú stránku v súkromnej zóne, aby ste mohli upraviť článok (príp. rubriku alebo novinku).

Posledné detaily:
-  z jasných dôvodov vyhľadávač nespôsobí aktualizovanie cache a stránky diskusných fór sa obnovia, len čo je odoslaný nový príspevok,

-  priečinok CACHE na stránke je rozdelený na 16 podpriečinkov označených 0, 1, 2... 9, A, B... F , do ktorých sa náhodne rozmiestňujú súbory; nazýva sa to "cache hash" a spomíname to iba pre úplnosť,

-  súbory z cache sa dokonca používajú aj v prípade, ak je databáza nefunkčná, čo zaručuje, že stránka zostane dostupná aj počas výpadku servera MySQL.

Poznámky

[1Pre techicky nadaných – vykonávať kód z cahe v skutočnosti umožňuje vloženie zodpovedajúceho súboru cez PHP.


Zobraziť šablónu tejto stránky Stránka vytvorená pomocou SPIPu | Prekladateľská zóna | Súkromná zóna