【发布时间】:2014-03-03 08:06:48
【问题描述】:
我想禁用 Fuseki 服务器的 SPARQL 查询缓存。我可以禁用它吗?怎么办?我正在考虑以下几种方式:
- 使用命令行参数 - 看起来毫无准备
- 使用设置文件 (*.ttl) - 我找不到禁用缓存的符号
- 编辑服务器代码 - 基本上我不会这样做:(
请告诉我如何禁用缓存。
【问题讨论】:
标签: caching sparql jena semantic-web fuseki
我想禁用 Fuseki 服务器的 SPARQL 查询缓存。我可以禁用它吗?怎么办?我正在考虑以下几种方式:
请告诉我如何禁用缓存。
【问题讨论】:
标签: caching sparql jena semantic-web fuseki
你在说什么缓存?
正如JENA-388 中所讨论的,当前的默认行为实际上是添加禁用缓存的标头,因此没有任何 HTTP 级别的缓存。
如果您使用的是 TDB 后端,则存在用于提高查询性能的缓存,而这些缓存是不可配置的 AFAIK。此外,即使您可以关闭它们,也可能会大大降低性能,所以这不是一个好主意。
--mem 选项使用纯内存数据集,因此没有缓存。请注意,当您扩展数据时,这实际上会比使用 TDB 慢得多,并且仅在较小的数据集大小时更快。
如果您希望进行基准测试,那么消除缓存影响的方法比关闭缓存要好得多,因为禁用缓存(即使可以)不会为您提供实际的性能数据。有几种消除缓存效果的实际方法:
N 结果并计算其余部分的统计数据您可能想看看我的 2012 SemTech 演讲 Practical SPARQL Benchmarking 和相关的 SPARQL Query Benchmarker 工具。我们最近一直在对该工具进行重大修订版本,该版本具有许多新功能,例如支持查询参数化。
【讨论】: