User Tools

Site Tools


nl:caching

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
nl:caching [2022/10/11 23:17]
yves created
nl:caching [2022/10/13 10:34] (current)
yves
Line 1: Line 1:
-Caching+===== Caching ​===== 
 Voor optimale prestaties ondersteunt PMA.core zowel tegelcaches als cloudcaches. Voor optimale prestaties ondersteunt PMA.core zowel tegelcaches als cloudcaches.
 +
 We hebben een strategie waarbij de cache automatisch wordt geleegd na de retentieperiode en er geen nieuwe cache wordt gecreëerd indien er niet voldoende schijfruimte is.  We hebben een strategie waarbij de cache automatisch wordt geleegd na de retentieperiode en er geen nieuwe cache wordt gecreëerd indien er niet voldoende schijfruimte is. 
 +
 Er is een aparte configuratiepagina voor cache-instellingen Er is een aparte configuratiepagina voor cache-instellingen
  
-Tile caching +==== Tile caching ​==== 
-Geëxtraheerde tegels uit WSI’s worden opgeslagen in een cache-opslagplaats. Dit is Just In Time (JIT) caching: de tegels+ 
 +Geëxtraheerde tegels uit [[https://​realdata.pathomation.com/​what-whole-slide-images-wsis-are-made-of/​|WSI’s]] worden opgeslagen in een cache-opslagplaats. Dit is Just In Time (JIT) caching: de tegels
 worden alleen in de cache bewaard nadat ze voor het eerst zijn gegenereerd. worden alleen in de cache bewaard nadat ze voor het eerst zijn gegenereerd.
 +
 Wanneer veel mensen naar dezelfde beeld kijken, zijn ze doorgaans in dezelfde interessegebieden en beeld-details geïnteresseerd. Wanneer veel mensen naar dezelfde beeld kijken, zijn ze doorgaans in dezelfde interessegebieden en beeld-details geïnteresseerd.
  Dit houdt in dat, wanneer het systeem langer wordt gebruikt, vrijwel alle geopende ​  Dit houdt in dat, wanneer het systeem langer wordt gebruikt, vrijwel alle geopende ​
 content beschikbaar komt via de tegelcache. Tile caching maakt het hiermee mogelijk om van PMA.core een content beschikbaar komt via de tegelcache. Tile caching maakt het hiermee mogelijk om van PMA.core een
 systeem te maken dat zeer goed opgeschaald kan worden dan wanneer dit mechanisme afwezig was.  systeem te maken dat zeer goed opgeschaald kan worden dan wanneer dit mechanisme afwezig was. 
 +
 PMA.core maakt geen cache aan van tegels of thumbnails indien er niet voldoende schijfruimte beschikbaar is (zoals gedefinieerd in de PMA.core maakt geen cache aan van tegels of thumbnails indien er niet voldoende schijfruimte beschikbaar is (zoals gedefinieerd in de
 instellingen). instellingen).
-Cloud caching+ 
 +==== Cloud caching ​==== 
 Beelden die worden verkregen via cloudopslag zoals S3 of Azure, hebben het voordeel van een extra  Beelden die worden verkregen via cloudopslag zoals S3 of Azure, hebben het voordeel van een extra 
 cache-laag. cache-laag.
 +
 +{{ :​cache_structure.png?​nolink&​400 |}}
 +
 Op basis van de verzoeken van cliënten, vraagt PMA.core een deel van de originele beeld op uit de cloudopslag,​ Op basis van de verzoeken van cliënten, vraagt PMA.core een deel van de originele beeld op uit de cloudopslag,​
 welke in een lokale cache-opslag wordt bewaard. Uit dat data-deel worden vervolgens de tegels verkregen. welke in een lokale cache-opslag wordt bewaard. Uit dat data-deel worden vervolgens de tegels verkregen.
  
-Probleemoplossing+==== Probleemoplossing ​==== 
 Het is mogelijk om een afbeelding vanuit de cloudopslag te laden indien er geen schijfruimte is. Het is mogelijk om een afbeelding vanuit de cloudopslag te laden indien er geen schijfruimte is.
 +
 Stel dat de gehele schrijfruimte 100GB bedraagt en er momenteel 95GB wordt gebruikt. PMA.core is ingesteld Stel dat de gehele schrijfruimte 100GB bedraagt en er momenteel 95GB wordt gebruikt. PMA.core is ingesteld
 om geen cache te gebruiken indien er niet tenminste 1GB beschikbare ruimte is. Laten we verder aannemen dat om geen cache te gebruiken indien er niet tenminste 1GB beschikbare ruimte is. Laten we verder aannemen dat
 de retentieperiode is ingesteld op 30 dagen en dat alle cache in de laatste 10 dagen is gecreëerd. de retentieperiode is ingesteld op 30 dagen en dat alle cache in de laatste 10 dagen is gecreëerd.
 +
 Als er nu 10 of 100 verzoeken zijn om verschillende afbeeldingen te laden, moet PMA.core de delen van deze afbeeldingen Als er nu 10 of 100 verzoeken zijn om verschillende afbeeldingen te laden, moet PMA.core de delen van deze afbeeldingen
 cachen, waardoor er ineens geen ruimte is en er niets verwijderd kan worden. cachen, waardoor er ineens geen ruimte is en er niets verwijderd kan worden.
 +
 U kunt dit nog verder doordrijven en ervan uitgaan dat u 100GB aan vrije ruimte heeft op een 100GB schijf en  U kunt dit nog verder doordrijven en ervan uitgaan dat u 100GB aan vrije ruimte heeft op een 100GB schijf en 
 u honderden verzoeken voor “Afbeeldingsinfo” ontvangt. Hierdoor bewaart PMA.core weer delen van honderden u honderden verzoeken voor “Afbeeldingsinfo” ontvangt. Hierdoor bewaart PMA.core weer delen van honderden
 afbeeldingen tegelijkertijd op de schijf op, waardoor de schijf mogelijk vol raakt (zonder dat er ook maar één regel is verbroken). afbeeldingen tegelijkertijd op de schijf op, waardoor de schijf mogelijk vol raakt (zonder dat er ook maar één regel is verbroken).
 +
 Hierna werkt er niets meer, omdat PMA.core niet weet wat het moet verwijderen;​ alle cache is nieuw. ​ Hierna werkt er niets meer, omdat PMA.core niet weet wat het moet verwijderen;​ alle cache is nieuw. ​
 U zult nu de cache-map(pen) handmatig moeten legen, waarna het opbouwproces opnieuw kan beginnen U zult nu de cache-map(pen) handmatig moeten legen, waarna het opbouwproces opnieuw kan beginnen
nl/caching.1665519466.txt.gz · Last modified: 2022/10/11 23:17 by yves