Skip to Content

Lapu kešatmiņa Odoo: veikals un blogs no RAM vai faila – ātri apmeklētājiem, meklētājprogrammām un MI

Atvērtā koda modulis website_page_cache publiskās Odoo lapas piegādā gandrīz kā statiskas, saglabājas aktuāls pie izmaiņām un tulkojumiem, un informācijas panelī parāda, vai un cik daudz RAM vajadzīgs
2026. gada 10. novembris by
Lapu kešatmiņa Odoo: veikals un blogs no RAM vai faila – ātri apmeklētājiem, meklētājprogrammām un MI

2026. gada 10. novembris  |  Pašu izstrāde  |  Odoo, veiktspēja un meklētājprogrammas

Lapu kešatmiņa Odoo vietnēm: publiskās veikala un bloga lapas no faila vai RAM, nevis renderētas no jauna katrā atvēršanas reizē

Odoo tīmekļa vietne katru lapu pie katras atvēršanas ģenerē no jauna: datubāzes pieprasījumi, veidnes, tulkojumi, cenas. Vienam apmeklētājam tas ir nemanāmi. Taču, kad meklētājprogrammas un MI indeksētāji pieprasa simtiem vai tūkstošiem lapu daudzās valodās, rodas pastāvīga slodze, un līdzi jāgaida arī īstiem klientiem. Tāpēc izstrādājām Odoo 19 moduli website_page_cache un publicējām to GitHub kā atvērtā koda risinājumu (LGPL-3): anonīmi atvērtās veikala un bloga lapas tiek piegādātas gandrīz kā statiskas no kešatmiņas – vai nu no failiem, vai no operatīvās atmiņas (RAM), un katras izmaiņas – arī tulkojuma – skartās lapas tiek automātiski izņemtas no kešatmiņas.

Svarīgi visiem, kas vēlas, lai tos atrod: modulis nebloķē nevienu meklētājprogrammu un nevienu MI rāpuli. Visi indeksētāji saņem to pašu saturu, ko jebkurš apmeklētājs, tikai ātrāk. Šajā rakstā paskaidrots, kā darbojas kešatmiņa, kā izskatās informācijas panelis (ar ekrānuzņēmumiem), kā noteikt, vai jūsu lapas ietilpst operatīvajā atmiņā un cik daudz papildu RAM būtu vajadzīgs, kādi drošības noteikumi ir spēkā un kā instalēt moduli.

Kopsavilkums

TēmaTas ir spēkā
Moduliswebsite_page_cache priekš Odoo 19, licence LGPL-3, publiski pieejams GitHub
Ko kešo?Publiskās veikala un bloga lapas (saraksti, kategorijas, produkti, ieraksti) katrā valodā katrā vietnē
Kam?Tikai anonīmiem apmeklētājiem, tikai GET pieprasījumiem bez meklēšanas parametriem, tikai statusam 200 ar HTML
Glabāšanas vietaFaili diskā vai RAM (tmpfs, kopīgs visiem darba procesiem); automātiski atkarībā no nepieciešamās vietas
AktualitāteKatra izmaiņa (arī tulkojumi, imports, skripti) ar datubāzes trigera palīdzību rada žurnāla ierakstu un padara skartās lapas nederīgas
Informācijas panelisIestatījumi, statuss, statistika (trāpījumi, garām trāpījumi, ietaupītais servera laiks) un pārbaude „Vai ietilpst operatīvajā atmiņā?“, ieskaitot „papildus nepieciešamo RAM“
Meklētājprogrammas un MINekas netiek bloķēts vai ierobežots; visi saņem tās pašas lapas, tikai ātrāk
Avārijas bremzeViens slēdzis (enabled = 0) 30 sekunžu laikā izslēdz kešatmiņu visos darba procesos

Problēma: rāpuļprogrammu slodze Odoo vietnēm

Odoo ir pilnvērtīga ERP sistēma, un tīmekļa vietne ir tikai viens no daudziem moduļiem. Katra lapa, ko atver apmeklētājs vai robots, iet vienu un to pašu ceļu: tiek apstrādāts pieprasījums, vaicāta datubāze, ielādēti produktu un cenu dati, renderēta QWeb veidne, ievietoti tulkojumi un piegādāts rezultāts. Atkarībā no lapas tas aizņem dažus simtus milisekunžu un šajā laikā aizņem vienu no nedaudzajiem darba procesiem.

Meklētājprogrammām un MI indeksētājiem tā ir pastāvīga problēma:

  • Daudz valodu, daudz adrešu: lapa, kas pieejama 46 valodās, rāpulim ir 46 dažādas adreses.
  • Katra adrese tiek pieprasīta atsevišķi, bieži vienlaikus no daudziem izkliedētiem sūtītājiem. Klasiskā pārlūka kešatmiņa šeit nepalīdz, jo katrs pieprasījums attiecas uz jaunu adresi.
  • Maz darba procesu: Odoo pakalpojums parasti darbojas ar saujiņu procesu. Ja tos aizņem rāpuļprogrammu pieprasījumi, īstie apmeklētāji gaida rindā.
  • Viens un tas pats saturs, atkal un atkal no jauna: bloga ieraksts mainās reti, bet pie katras atvēršanas tiek darbietilpīgi savākts no jauna.

Acīmredzamais risinājums – izslēgt rāpuļprogrammas – uzņēmumam, kas vēlas būt atrodams, nav iespējams. Redzamība meklētājprogrammās un MI atbildēs ir vērtīga. Labāk lapas piegādāt tik ātri, ka slodze gandrīz vairs nav svarīga. Tieši to dara lapu kešatmiņa.

Kā darbojas lapu kešatmiņa

Modulis pieslēdzas Odoo pieprasījumu ieejai (ir.http). Pie katras lapas atvēršanas tas milisekundes daļā izlemj, vai lapu drīkst piegādāt no kešatmiņas, un tad piegādā to bez datubāzes, bez veidnes un bez renderēšanas.

Procesa diagramma: pieprasījums, pārbaude, kešatmiņas atslēga, trāpījums vai garām, saglabāšana un piegāde

  1. Pārbaude: Piemērots ir tikai anonīms GET pieprasījums bez meklēšanas parametriem atļautā ceļā (veikals, kategorijas, produkti, blogs). Viss pārējais notiek kā parasti caur Odoo.
  2. Kešatmiņas atslēga: Tā sastāv no vietnes, resursdatora klases, valodas, ceļa, cenrāža, nodokļu pozīcijas un sīkdatņu piekrišanas statusa. Tāpēc apmeklētāji, kas redzētu ko citu, nekad nedalās vienā ierakstā. Resursdators tiek normalizēts: Odoo absolūtās adreses vienmēr raksta no vietnes domēna, nevis no pieprasījuma; pieprasījuma adrese nosaka tikai to, vai lapa tiek uzskatīta par galveno adresi (valodu atsauces) un vai to vajag indeksēt. Tāpēc visi sveši resursdatoru nosaukumi dalās vienā ierakstā kopā ar noindex norādi, nevis katrs aizņem savu kopiju.
  3. Trāpījums: Ja ir aktuāls ieraksts, tas tiek piegādāts. CSRF tokens lapā tiek iestatīts no jauna katram pieprasījumam. Bloga ierakstu atvēršanas reizes tiek skaitītas arī turpmāk.
  4. Garām: Ja ieraksta nav vai tas ir novecojis, Odoo lapu renderē kā parasti. Ja rezultātu drīkst kešot (statuss 200, HTML, bez sīkdatnes, bez sesijas ID tekstā), tas tiek saglabāts; nākamā atvēršana ir trāpījums.
  5. Redzams galvenē: Katrai atbildei ir galvene X-Page-Cache: HIT vai MISS. Tā ar jebkuru rīku var pārbaudīt, kas noticis.

Cik daudz ātrāk?

Mūsu testa sistēmā (mūsu vietņu kopija, daži simti lapu) vidējais lapas renderēšanas laiks bija apmēram 490 milisekundes, bet piegāde no kešatmiņas apmēram 23 milisekundes: aptuveni divdesmit reižu ātrāk. Jo sarežģītāka lapa, jo lielāks ieguvums. Informācijas panelis no abām vērtībām aprēķina arī aptuveni ietaupīto servera laiku.

Faili vai RAM: glabāšanas vietas izvēle

Kešatmiņai ir divas glabāšanas vietas. Abas ir kopīgi redzamas visiem Odoo darba procesiem, tāpēc katra lapa pastāv tikai vienu reizi, nevis vienu reizi katrā procesā.

Failu kešatmiņas un RAM kešatmiņas salīdzinājums un automātikas lēmuma noteikums

IestatījumsKur atrodas lapas?Īpašības
FailiDirektorija Odoo datu mapē, katrai datubāzei atsevišķipārdzīvo restartēšanu; operētājsistēma bieži izmantotās lapas tāpat tur atmiņā
Operatīvā atmiņatmpfs zem /dev/shmātrākā piegāde; servera restartēšanas laikā tiek zaudēta un vienkārši uzbūvēta no jauna
AutomātiskiRAM, kamēr viss ietilpst; citādi failiUzturēšanas darbs (ik pēc 10 minūtēm) izlemj, balstoties uz novērtējumu; pie „ietilpst“ un „šauri“ paliek RAM, lai izvēle nemainītos nepārtraukti

Vairumam instalāciju Automātiski ir pareizā izvēle: jūs iegūstat RAM ātrumu, kad vietas pietiek, un citādi bez iejaukšanās atgriežaties pie failiem.

Vai vietne ietilpst operatīvajā atmiņā? Un cik RAM trūkst?

Vai RAM kešatmiņa ir iespējama, atkarīgs no trim lietām: lapu skaita, to vidējā izmēra un pieejamās atmiņas. Informācijas panelis to jums izrēķina:

  • Lapu skaits: Katrai vietnei tas saskaita publicētos produktus, veikala saraksta lapas, kategorijas, bloga ierakstus un bloga sarakstus un reizina ar valodu skaitu.
  • Lapas izmērs: Tiklīdz kešatmiņā ir lapas, tiek izmērīts faktiskais vidējais; līdz tam tiek izmantota pieņēmuma vērtība.
  • Vieta kešatmiņai: mazākā no iestatītā RAM budžeta, tmpfs izmēra un pusi no pieejamās operatīvās atmiņas. Serverim kešatmiņas dēļ nekad nedrīkst pietrūkt atmiņas.
  • Spriedums: „ietilpst ar rezervi“, „šauri“, „par lielu“ vai „RAM kešatmiņa nav pieejama“. „Ietilpst“ ir spēkā, ja vajadzība nepārsniedz 80 procentus no pieejamās vietas.

Informācijas paneļa sadaļa Vai ietilpst operatīvajā atmiņā? ar lapu skaitu pa vietnēm, vietas vajadzību un norādi par papildus nepieciešamo RAM

Jaunums: cik daudz papildu RAM būtu vajadzīgs?

Ja kešatmiņa neietilpst, gribas zināt, kas jāmaina. Tāpēc informācijas panelis zem sprieduma norāda konkrētu rindu: „Papildu RAM RAM kešatmiņai: apmēram … vairāk operatīvās atmiņas šajā serverī“ – vai „nekāds“, ja vietas jau pietiek. Ja par mazu ir nevis serveris, bet tikai kāds iestatījums, zemāk norādīts, kurš: moduļa RAM budžets vai tmpfs izmērs (/dev/shm).

Informācijas panelis ar pārāk mazu RAM budžetu: spriedums Nē un aicinājums palielināt RAM budžetu vismaz līdz nepieciešamajai vērtībai

Aprēķins ir vienkāršs un izsekojams:

Aprēķina piemērs: 12 000 lapu reiz 25 KB dod apmēram 300 MB vajadzību, ar rezervi apmēram 375 MB, tam vajadzīgi vismaz 750 MB brīvas atmiņas

  1. Vajadzība = lapas × vidējais lapas izmērs.
  2. Ar rezervi = vajadzība, dalīta ar 0,8. Šai vērtībai jāietilpst RAM budžetā un tmpfs, lai spriedums būtu „ietilpst“.
  3. Brīvā atmiņa: Tā kā kešatmiņa drīkst izmantot ne vairāk kā pusi no pieejamās operatīvās atmiņas, serverim kā brīvi pieejamā atmiņa vajadzīgs vismaz divkāršs 2. soļa vērtības apjoms. Ja kaut kā trūkst, starpība ir papildus nepieciešamais RAM.

Attēlā redzamais piemērs (12 000 lapu pa 25 KB) ir aprēķina palīglīdzeklis, nevis mūsu lapu mērījums. Mazām vietnēm pietiek ar dažiem desmitiem megabaitu; ekrānuzņēmumu piemēru dati iztika ar apmēram 13 MB.

Svarīgi ieteikumi: novērtējums neskaita papildu cenrāža vai valstu versijas. Kas to izmanto daudz, lai ieplāno nelielu rezervi. Un vēl: pārāk mazs RAM budžets ir biežākais iemesls, kāpēc automātika paliek pie failiem – nevis operatīvās atmiņas trūkums. Informācijas panelis šajā gadījumā parāda tieši šo rindu.

Izmaiņas un tulkojumi sakārto kešatmiņu

Kešatmiņa ir noderīga tikai tad, ja tā nekad nepiegādā novecojušas lapas. Tikai laika ierobežojums („atmest ik pēc divpadsmit stundām“) būtu pārāk rupjš: mainīta cena vai izlabota drukas kļūda varētu gaidīt līdz divpadsmit stundām. Tāpēc modulis darbojas pēc satura.

Atcelšanas norise: izmaiņa, datubāzes trigeris, izmaiņu žurnāls, salīdzināšana, lapa atmesta, renderēšana no jauna nākamajā atvēršanā

  1. Datubāzes trigeri: Visās tabulās, kas var ietekmēt lapu (produkti, varianti, attēli, krājumi, atribūti, kategorijas, cenas, nodokļi, cenrāži, bloga ieraksti un atslēgvārdi, partneru un uzņēmumu dati, skati, resursi, izvēlnes, valodas, vietnes iestatījumi), ir PostgreSQL trigeri. Tie katru izmaiņu ieraksta izmaiņu žurnālā.
  2. Atkarības un datubāzes stāvoklis: Katra kešotā lapa atceras, kurus ierakstus tā rāda, un datubāzes stāvokli, ar kādu tā tika izveidota.
  3. Salīdzināšana: Ja ir žurnāla ieraksts, kas radies pēc šī stāvokļa un attiecas uz kādu no šiem ierakstiem, lapa ir novecojusi.
  4. Atkārtota kešošana: Nākamajā atvēršanā novecojusī lapa tiek atmesta, renderēta no jauna un atkal saglabāta.

Tulkojumi ir iekļauti

Odoo 19 tulkotos tekstus glabā tajā pašā ierakstā, kur oriģinālo tekstu (kā JSON lauku). Tāpēc mainīts tulkojums datubāzei ir pavisam parasta rindas izmaiņa – un trigeris to redz. Tas vienlīdz attiecas uz rediģēšanu caur saskarni, importu, saskarnēm un skriptiem, kas raksta tieši datubāzē. Tādējādi automātisks 46 valodu tulkojums padara nederīgas tieši tās lapas, kuru teksts mainījies, un ne vairāk.

  • Mērķtiecīgi, nevis vispārīgi: Mainīts produkts padara nederīgas tā lapas, sarakstus, kuros tas ir, un attiecīgo kategoriju. Pārējais paliek kešatmiņā.
  • Globālas izmaiņas (veidnes, resursi, valodas, izvēlnes, nodokļi, valūtas) padara nederīgu visu uzreiz, jo var ietekmēt katru lapu.
  • Skaitītāji paliek ārpus: Bloga ierakstu skatījumu skaitītājs mainās pie katra apmeklējuma; tas apzināti neizraisa atcelšanu, citādi kešatmiņa populāriem ierakstiem būtu bezjēdzīga.
  • Drošības tīkls: Papildus katrai lapai ir maksimālais vecums (pēc noklusējuma 12 stundas).
  • Kešatmiņa neizraisa rakstīšanas kļūdu: Kļūda trigera iekšpusē tiek reģistrēta kā brīdinājums un nelauj neizdoties pašai saglabāšanai.

Informācijas panelis un statistika

Viss, kas vajadzīgs ekspluatācijai, ir vienuviet: Odoo sadaļā Vietne → Pārskati → Lapu kešatmiņa. Sadaļa Pārskats ir informācijas panelis (ar iestatījumiem), sadaļa Vēsture rāda skaitļus pa dienām un vietnēm.

Lapu kešatmiņas informācijas panelis Odoo: iestatījumi, statuss, statistika un pārbaude Vai ietilpst operatīvajā atmiņā

Ekrānuzņēmums no testa sistēmas ar mūsu vietņu kopijām; vietņu nosaukumi aizstāti ar vietturiem.

Iestatījumi

IestatījumsNozīme
AktīvsGalvenais slēdzis. Izslēdzot, Odoo atkal piegādā katru lapu kā agrāk, visos procesos ne vēlāk kā pēc 30 sekundēm.
Glabāšanas vietaAutomātiski, faili vai operatīvā atmiņa
Maksimālais vecums (stundas)Drošības tīkls; lapas neatkarīgi no izmaiņām tiek atjaunotas pēc šī laika
RAM budžets (MB)Cik daudz operatīvās atmiņas RAM kešatmiņa drīkst aizņemt maksimāli; reizē tā ir sprieduma „ietilpst“ robeža
Diska robeža (MB)Failu kešatmiņas maksimālais izmērs; vecākie ieraksti tiek noņemti vispirms

Statuss un statistika

Statuss rāda aktīvo glabāšanas vietu ar robežu, kešoto lapu skaitu un izmēru, kā arī izmaiņu izsekošanu: cik izmaiņu reģistrēts pēdējo 24 stundu laikā un cik tabulu tiek uzraudzītas. Ja uzraudzības trūkst, informācijas panelis skaidri brīdina, jo tad kešatmiņai nedrīkst uzticēties. Pogas augšā ļauj nekavējoties palaist uzturēšanu, iztukšot kešatmiņu vai pārbaudīt trigerus un vajadzības gadījumā izveidot tos no jauna.

Statistika (Šodien, 7 dienas, 30 dienas) ietver:

  • No kešatmiņas un Renderēts: trāpījumi un garām trāpījumi, no tiem trāpījumu īpatsvars
  • Noņemts (mainīts/beidzies): cik lapu atmests izmaiņu vai derīguma beigu dēļ
  • Renderēšanas laiks un kešatmiņas laiks: vidējais uz lapu salīdzinājumam
  • Aptuveni ietaupītais servera laiks un datu apjoms no kešatmiņas

Skaitļus katrs darba process vāc atsevišķi un raksta vienu reizi minūtē; rindas, kas vecākas par 90 dienām, uzturēšanas darbs notīra.

Vēsture kā diagramma, rakurstabula un saraksts

Sadaļā Vēsture ir pieejamas dienas vērtības pa vietnēm – kā diagramma, rakurstabula vai saraksts. Tā redzat, vai trāpījumu īpatsvars pēc restartēšanas vai lielas izmaiņas atkal pieaug un kura vietne saņem visvairāk trafika no kešatmiņas.

Lapu kešatmiņas vēsture kā rakurstabula ar trāpījumiem, garām trāpījumiem un atmestām lapām pa vietnēm

Drošība: kas nekad netiek ņemts no kešatmiņas

Lapu kešatmiņa nekad nedrīkst novest pie tā, ka kāds redz cita satura. Tāpēc modulis darbojas pēc principa: šaubu gadījumā nekešot.

  • Tikai anonīmi apmeklētāji: Kas ir pieteicies, kam ir grozs vai cits sesijas stāvoklis, vienmēr saņem parasti renderētu lapu.
  • Tikai GET bez meklēšanas parametriem: Meklēšana, filtri, kārtošana, veidlapas, grozs un kase paliek neskarti.
  • Tikai statuss 200 un HTML: Kļūdu lapas, novirzīšanas un faili netiek saglabāti.
  • Nekādu sesijas ID kešatmiņā: Lapa, kas satur sesijas ID vai iestata sīkdatni, netiek saglabāta (un tiek reģistrēta kā brīdinājums).
  • CSRF tokens katram pieprasījumam: Tokens kešotajā lapā ir vietturis, un pie katras piegādes tiek ievietots no jauna.
  • Smalka atslēga: Vietne, valoda, cenrādis, nodokļu pozīcija un sīkdatņu piekrišana ir kešatmiņas atslēgas daļa; kas redz ko citu, saņem citu ierakstu.
  • Vairākas datubāzes: Katrai datubāzei ir savi ieraksti, savs žurnāls un sava statistika.
  • Nekādas datu noplūdes: Kešatmiņa atrodas lokāli serverī (fails vai RAM). Trešajām pusēm dati netiek nodoti.

Meklētājprogrammas un MI indeksētāji: nekas netiek bloķēts

Daži operatori uz rāpuļprogrammu slodzi reaģē ar bloķēšanu. Tas pasargā serveri, bet maksā redzamību. Modulis izvēlas pretēju ceļu:

  • Vienāds saturs visiem: Meklētājprogrammas, MI indeksētāji un apmeklētāji saņem vienu un to pašu lapu. Nav atsevišķas „rāpuļa versijas“ un atpazīšanas pēc pārlūka identifikatora.
  • Ātrākas atbildes palīdz indeksēšanai: Lapa, kas atbild 20, nevis 500 milisekundēs, mazāk noslogo rāpošanas budžetu, un rāpuļi tajā pašā laikā var aptvert vairāk lapu.
  • Aktuāls saturs: Tā kā izmaiņas lapas nekavējoties padara nederīgas, rāpuļi nekad neredz novecojušu versiju – svarīgi, ja kopjat saturu meklēšanai un MI atbildēm.
  • Strukturētie dati tiek saglabāti: JSON-LD, meta ziņas un hreflang atsauces ir kešotās lapas daļa; vietņu kartes un failus kešatmiņa neskar.

Ja papildus vēlaties ierobežot slodzi, tas ir atsevišķs lēmums, ko varat pieņemt apzināti – modulis jums to nepiespiež.

HTML samazināšana un saspiesta piegāde

Kešatmiņa ietaupa ne tikai skaitļošanas laiku, bet arī datu apjomu. Modulis HTML samazina pirms saglabāšanas un piegādā saspiestu, ja pārlūks vai rāpulis to piedāvā:

  • Samazināšana (parametrs website_page_cache.minify): HTML komentāri tiek izņemti, atstarpes tiek apvienotas. Pilnībā tās tiek izņemtas tikai tur, kur pārlūks tās tāpat ignorē, piemēram, starp bloka elementiem. Atstarpes starp iekļautajiem elementiem paliek, pre, textarea un skripti paliek nemainīti, strukturētie dati (JSON-LD) tiek pārrakstīti kompakti. Atkarībā no lapas tās kļūst par 10–30 % mazākas. Testā ar septiņām īstām lapām teksts, elementu skaits, visu elementu pozīcija un ekrānuzņēmums bija identiski oriģinālam. Pirmā piegāde (MISS) ir samazināta tieši tāpat kā katra nākamā (HIT).
  • Saspiešana (parametrs website_page_cache.compress): Lapas no kešatmiņas tiek sūtītas ar gzip (Content-Encoding: gzip, Vary: Accept-Encoding). Lielās resursu pakotnes (CSS un JavaScript, līdz dažiem MB) Odoo piegādā nesaspiestas; modulis tās saspiež vienu reizi, kopiju noglabā diskā un pēc tam piegādā tieši. No 2,1 MB CSS tā kļuva 0,27 MB, no 4,8 MB JavaScript – 1,1 MB. Vecās kopijas notīra uzturēšanas darbs.
  • Pēc datora restartēšanas: RAM kešatmiņa saglabājas Odoo restartēšanas laikā, bet ne servera restartēšanas laikā. Tāpēc uzturēšanas darbs to pakāpeniski spoguļo diskā (parametrs website_page_cache.persist) un startējot atjauno. Vai atjaunots ieraksts vēl ir derīgs, pārbauda tas pats mehānisms kā citkārt: vecums un izmaiņu žurnāls. Samazināšana šajā laikā netiek pārrēķināta.

Instalēšana un iestatījumi

  1. Iegūstiet moduli: lejupielādējiet pirmkodu no GitHub un ievietojiet to sava Odoo 19 instalācijas addons ceļā: github.com/Alex0176/odoo-website-page-cache
  2. Instalējiet: odoo-bin -d <Datenbank> -i website_page_cache --stop-after-init. Tādējādi rodas izmaiņu žurnāls, trigeri un uzturēšanas darbs (ik pēc 10 minūtēm).
  3. Restartējiet pakalpojumu, lai visi darba procesi ielādētu moduli.
  4. Atveriet informācijas paneli: Vietne → Pārskati → Lapu kešatmiņa. Pārbaudiet, vai izmaiņu izsekošana ir pilnīga, un izvēlieties glabāšanas vietu (noklusējums: automātiski).
  5. Pārbaudiet: Veikala vai bloga lapu atveriet divreiz un apskatiet galveni X-Page-Cache: pirmajā reizē MISS, pēc tam HIT.

Iestatījumi ir pieejami kā sistēmas parametri (website_page_cache.enabled, .backend, .ttl_hours, .max_mb_file, .max_mb_ram) un parasti tiek kopti informācijas panelī. Modulis ir tulkots vācu valodā. Atinstalēšana pilnībā noņem trigerus, žurnālu un visas kešotās lapas.

Padoms RAM kešatmiņai: RAM budžetam informācijas panelī un tmpfs izmēram (/dev/shm, montēšanas opcija size=) jāatbilst vajadzībai. Abus lielumus ar konkrētām vērtībām nosauc pārbaude „Vai ietilpst operatīvajā atmiņā?“.

Ierobežojumi, kas jāzina

  • Neliela aizkave pēc izmaiņām: Izmaiņu žurnāla indekss tiek atsvaidzināts ik pēc divām sekundēm. Līdz tam mainīta lapa vēl var tikt piegādāta vecajā versijā.
  • No krājumiem atkarīgie teksti tiek atjaunināti ar krājumu izmaiņām un maksimālo vecumu.
  • Vietas vajadzības novērtējums: Papildu versijas pa cenrāžiem vai valstīm nav ieskaitītas; ieplānojiet nelielu rezervi.
  • Nav visa aizstājējs: Kešatmiņa atslogo pieprasījumus, ko tā drīkst apkalpot. Pieteikušies lietotāji, meklēšana un veidlapas turpina iet caur Odoo.
  • Pirmā atvēršana paliek lēna: Pēc servera restartēšanas (RAM) vai globālas izmaiņas katra lapa vienu reizi tiek renderēta parastā veidā, pirms tā nonāk kešatmiņā.

Bieži uzdotie jautājumi

Kas ir Odoo lapu kešatmiņa?

Atvērtā koda modulis (website_page_cache, Odoo 19, LGPL-3), kas publiskās veikala un bloga lapas anonīmiem apmeklētājiem piegādā no kešatmiņas, nevis renderē tās no jauna katrā atvēršanas reizē. Kešatmiņa pēc izvēles atrodas failos vai operatīvajā atmiņā.

Vai modulis bloķē meklētājprogrammas vai MI rāpuļus?

Nē. Meklētājprogrammas un MI indeksētāji saņem tās pašas lapas, ko jebkurš cits apmeklētājs, tikai ātrāk. Nav ne bloķēšanas, ne ierobežošanas, ne atsevišķas rāpuļa versijas.

Vai mainītās lapas un tulkojumi tiek automātiski kešoti no jauna?

Jā. PostgreSQL trigeri paziņo žurnālam par katru būtisku tabulu izmaiņu; skartās lapas tiek atmestas un nākamajā atvēršanā renderētas no jauna un saglabātas. Tulkojumi ir iekļauti, jo Odoo 19 tos glabā tajā pašā ierakstā.

Vai izvēlēties failus vai RAM?

Parasti Automātiski: modulis izmanto RAM, kamēr ietilpst visas lapas, un citādi pāriet uz failiem. Faili piemēroti, ja kešatmiņai jāpārdzīvo restartēšana vai RAM ir šaura; RAM ir ātrākais variants.

Kā uzzināt, vai mana vietne ietilpst operatīvajā atmiņā?

Informācijas panelī sadaļā Vietne → Pārskati → Lapu kešatmiņa. Sadaļa „Vai ietilpst operatīvajā atmiņā?“ saskaita lapas pa vietnēm un valodām, izmēra lapas izmēru un salīdzina vajadzību ar RAM budžetu, tmpfs izmēru un pieejamo atmiņu.

Cik daudz papildu RAM vajadzīgs RAM kešatmiņai?

Informācijas panelis to norāda atsevišķā rindā. Aprēķins: vajadzība = lapas × lapas izmērs; ar drošības rezervi dala ar 0,8. Tā kā kešatmiņa drīkst izmantot ne vairāk kā pusi no pieejamās atmiņas, tā divkāršs apjoms ir nepieciešamā brīvā atmiņa; starpība ir papildu RAM. Ja par mazu ir tikai RAM budžets vai tmpfs, informācijas panelis nosauc iestatījumu kopā ar mērķa vērtību.

Vai kešatmiņa var kādam parādīt svešu saturu?

Nē. Kešo tikai anonīmus GET pieprasījumus bez meklēšanas parametriem. Pieteikušies lietotāji, grozi, veidlapas un meklēšana nekad netiek ņemti no kešatmiņas; valoda, cenrādis, nodokļu pozīcija un sīkdatņu piekrišana ir atslēgas daļa.

Kā avārijas gadījumā izslēgt kešatmiņu?

Informācijas panelī izslēdziet slēdzi „Aktīvs“ vai iestatiet sistēmas parametru website_page_cache.enabled uz 0. Tas visos darba procesos stājas spēkā ne vēlāk kā pēc 30 sekundēm. Atinstalēšana papildus noņem trigerus, žurnālu un kešotās lapas.

Kā atpazīt, vai lapa nāca no kešatmiņas?

Pēc atbildes galvenes X-Page-Cache: HIT nozīmē no kešatmiņas, MISS nozīmē tikko renderēta un saglabāta.

Vai modulis samazina un saspiež HTML?

Jā. Kešotās lapas tiek piesardzīgi samazinātas (komentāri un lieka atstarpe tiek izņemta, saturs un attēlojums paliek nemainīgs) un kešatmiņas trāpījumu gadījumā piegādātas ar gzip; resursu pakotnes tiek saspiestas vienu reizi un piegādātas no diska. Abus var izslēgt ar parametriem website_page_cache.minify un website_page_cache.compress.

Atbalsts no Biricon IT Services

Jūsu Odoo vietne rāpuļprogrammu slodzes laikā reaģē gausi, vai arī vēlaties veikalu un blogu padarīt ātrāku un redzamāku? Mēs atbalstām slodzes analīzē, lapu kešatmiņas ieviešanā, operatīvās atmiņas un darba procesu dimensionēšanā un daudzvalodu meklētājprogrammu optimizācijā jūsu Odoo vietnei. Moduļa pirmkodu atradīsiet GitHub.

Sazināties ar mums

Stāvoklis: 2026. gada 10. novembris. Mērījumu vērtības iegūtas testa sistēmā ar piemēru datiem un nav apsolījums citām instalācijām.