Portál AbcLinuxu, 2. května 2025 05:49
Při hledání důvodů vysokého zatížení serveru jsem náhodou narazil na fakt, že několik vláken čekalo v cachi DOM4J. Filip Jirsák našel alternativní nastavení, jak použít nesdílenou cache, která tudíž nemusí být synchronizována. Nasadil jsem nastavení a osobně mi příjde abíčko rychlejší.
Trochu večerní poezie pro neprogramátory. Když otevíráte stránku abíčka, webový server jetty začne zpracovávat váš požadavek a předá řízení aplikaci abíčka. Ta nejdříve určí, o jakou stránku máte zájem, načte data (nejčastěji z cache, občas z databáze) a nechá vygenerovat stránku šablonovacímu systému freemarker. Abíčko silně používá technologie kolem XML, konkrétně knihovnu DOM4J. A ta z jakéhosi pochybného optimalizačního důvodu má cache jmen elementů (QName). Bohužel defaultně je tato cache sdílená pro celou aplikaci, tudíž se musí ošetřit, že se více současně přistupujících vláken nepopere - tomu se říká synchronizace a je docela náročná.
Lidé reportovali, že často musí dlouho čekat, než abíčko začne posílat data, ale pak to jde rychle. Podle mě byla důvodem právě tato synchronizovaná cache. Váš požadavek byl zpracováván, ale najednou se DOM4J zeptalo, zda může pracovat se sdílenou cachí. Tímto dotazem ale přišlo o možnost pokračovat a řízení bylo předáno jinému vláknu, které zpracovávalo požadavek někoho jiného. Ten dopadl podobně, dokud některé vlákno nedostalo souhlas, že je cache zablokována jen pro něj. Pak zpracoval, ci potřeboval a rychle vrátil výslednou stránku. Důsledkem tohoto předávání řízení ale bylo, že spousta uživatelů se vzájemně blokovalo a čekalo na zobrazení stránky (až na ně příjde řada).
Nyní se tato blokovaná cache nepoužívá, tudíž si uživatelé kvůli ní zbytečně nepřekážejí. Důsledkem toho je výrazné zkrácení čekání na to, než vám abíčko začne posílat data. Aspoň mě se tak zdá. A vám?
Tiskni
Sdílej:
PS. Asi jsem dlouho sem nenapsal nic na abíčko, ale proč se mi slova ve formuláři obarvují naprosto nesmyslně?Grr, zase nějaká super feature v konqueroru. Teď už tu je i barevná křížovka.
Ty tohle sleduješ?Já vždy u článků/blogů kouknu na hodnocení a obvykle hodnotím
PS. Asi jsem dlouho sem nenapsal nic na abíčko, ale proč se mi slova ve formuláři obarvují naprosto nesmyslně?Nevím, co myslíš.
Nevím, co myslíš.Na ukázku.
Já vždy u článků/blogů kouknu na hodnocení a obvykle hodnotímTak to já si obvykle blogpost nejdřív přečtu a teprve potom pokud uznám za vhodné, hodnotím. Ale jinak máš pravdu v tom, že se tu vyskytují lidé, co už jen tak z principu dají negativní hodnocení,aby snad náhodou některému z blogpostů nezůstalo hodnocení 100%. Takže já se spíš dívám na to, kolik lidí se na hlasování podílelo. Teprve pak si z toho když tak udělám nějaký obrázek. Ten sice nevypovídá moc o blogpostu jako takovém, ale spíš o naladění a přehledu průměrného čtenáře abclinuxu.
Kdo pořád dáváte skoro každému Leošovo blogpostu o vylepšení AbcLinuxu negativní hlas?První podezření padá na majitele konkurenčních portálů
Diky, zrychleni je znatelne, proti drivejsku to naskakuje bleskove :-)
mood = (machine != slackware) ? depressed : euphoria;
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.