首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果超过磁盘配额,GeoWebCache将截断所有切片

如果超过磁盘配额,GeoWebCache将截断所有切片
EN

Stack Overflow用户
提问于 2020-02-09 15:58:30
回答 1查看 123关注 0票数 1

我已经使用GeoServer实现了一个web应用程序来提供磁贴地图。为了应用缓存策略,我在PostgreSQL数据库中启用了嵌入式GeoWebCache并设置了平铺页面。磁盘配额设置为5MB,采用LFU方式测试超过配额限制时的截断行为。当缓存量超过5 MB并且GeoWebCahe删除所有磁贴而不考虑每个磁贴的"frequency_of_use“时,问题就会显现出来。这是预期的行为吗,因为我认为它应该首先删除最少使用的磁贴。

代码语言:javascript
复制
<!-- geowebcache-diskquota.xml -->

<gwcQuotaConfiguration>
  <enabled>true</enabled>
  <cacheCleanUpFrequency>10</cacheCleanUpFrequency>
  <cacheCleanUpUnits>SECONDS</cacheCleanUpUnits>
  <maxConcurrentCleanUps>2</maxConcurrentCleanUps>
  <globalExpirationPolicyName>LFU</globalExpirationPolicyName>
  <globalQuota>
    <value>5</value>
    <units>MiB</units>
  </globalQuota>
  <quotaStore>JDBC</quotaStore>
</gwcQuotaConfiguration>

和geowebcache-file配额-jdbc.xml文件:

代码语言:javascript
复制
<gwcJdbcConfiguration>
  <dialect>PostgreSQL</dialect>
  <JNDISource>java:comp/env/jdbc/gwc</JNDISource>
  <connectionPool>
    <driver>org.postgresql.Driver</driver>
    <url>jdbc:postgresql://localhost:5432/gwc</url>
    <username>postgres</username>
    <password></password>
    <minConnections>1</minConnections>
    <maxConnections>10</maxConnections>
    <connectionTimeout>10000</connectionTimeout>
    <maxOpenPreparedStatements>50</maxOpenPreparedStatements>
  </connectionPool>
</gwcJdbcConfiguration>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-09 16:24:27

磁盘配额机制不跟踪每个单个区块,而是跟踪其统计数据作为一个单元来跟踪的区块组,以减小记账数据库大小。

我不知道实现的细节,以至于不能告诉您一个磁贴页面有多大,但是对于一个可能有数百5MB的磁贴缓存,如果最小跟踪单元超过5MB,我也不会感到惊讶。如果是这种情况,那么删除5MB配额中所有可用磁贴的可能性很大。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60134577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档