首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导致XDMP-MEMCANCELED的SPARQL查询

导致XDMP-MEMCANCELED的SPARQL查询
EN

Stack Overflow用户
提问于 2015-04-22 15:02:09
回答 1查看 333关注 0票数 2

我们在包含500万个三倍的数据库上执行一系列不同的SPARQL查询。

我们的查询通常会导致XDMP-MEMCANCELED-错误-虽然不一致,但它们大多在几秒钟或更短的时间内返回正确的结果。有些查询有时似乎挂起,导致服务器在100%的CPU上运行,直到查询超时。

我们已经尝试增加我们可以找到的与内存相关的设置。此查询在其他三重存储/引擎上运行良好。

我们运行的是具有8 gb内部内存和16 gb交换空间的MarkLogic 8.0-11 AWS实例。

一个相当简单的查询示例,有时会导致错误:

代码语言:javascript
复制
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX t5_m: <http://url.com/T5/model#>
PREFIX t5_d: <http://url.com/T5/data#>
SELECT DISTINCT
?_app_id
( ?_err as ?_reason )
?_comment
?_severity
WHERE
{
BIND ( 3 as ?_severity)
BIND ( "Generated by HL7 v2 Conformance Profile of IHE PCD-01 message" as ?_comment )

FILTER( ?_app_id = 'APP_ID')
FILTER ( ?_ts  >= '2015-04-21T09:04:07.871' )
FILTER ( ?_ts  <= '2015-04-21T09:07:43.973' )

?ACK t5_m:hasMSH ?MSH .
?MSH t5_m:hasMSH.5 ?MSH_5 .
?MSH_5 t5_m:hasHD.1 ?HD_1 .
?HD_1 t5_m:hD.1Value ?_app_id .

?ACK t5_m:hasMSA ?MSA .
?MSA t5_m:hasMSA.2 ?MSA_2 .
?MSA_2 t5_m:mSA.2Value ?_msg_id .

?PCD_01_Message a t5_m:PCD_01_Message .
?PCD_01_Message t5_m:id ?_msg_id .
?PCD_01_Message t5_m:timeStamp ?_ts .

?ACK t5_m:hasERR ?ERR .
?ERR t5_m:hasERR.7 ?ERR_7 .
?ERR_7 t5_m:eRR.7Value ?_err .
}

我们是否遗漏了一些相关的配置设置,或者这个查询有什么问题?

你真的,亚历山大

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-23 06:08:26

当所有正在运行的SPARQL查询的总哈希联接表大小超过主机内存的50%时,使用哈希连接内存最多的SPARQL查询将因"XDMP-MEMCANCELED“错误而被取消。这可能表明以下几点:

  1. 主机被同时执行SPARQL查询的次数重载。您可以尝试在主机上添加更多内存(8Gb非常小),或者跨更多MarkLogic主机进行负载平衡SPARQL查询。
  2. SPARQL查询优化器正在为您的查询选择糟糕的查询计划。对于具有更多联接的SPARQL查询(例如,您的查询有13个联接),您可以尝试以更高的优化级别执行sem:sparql()函数,即:尝试添加选项"optimize=2“。
  3. 查询优化器可能存在错误或缺陷,从而导致选择糟糕的查询计划。您应该与MarkLogic支持部门联系,以了解这一点--它们将能够指导您找到所选择的查询计划和导致您的问题的优化参数。他们可能会给出更多的解决方案,或者他们可能会提交一个bug报告来进行修复。

约翰

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

https://stackoverflow.com/questions/29801608

复制
相关文章

相似问题

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