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