我们在包含500万个三倍的数据库上执行一系列不同的SPARQL查询。
我们的查询通常会导致XDMP-MEMCANCELED-错误-虽然不一致,但它们大多在几秒钟或更短的时间内返回正确的结果。有些查询有时似乎挂起,导致服务器在100%的CPU上运行,直到查询超时。
我们已经尝试增加我们可以找到的与内存相关的设置。此查询在其他三重存储/引擎上运行良好。
我们运行的是具有8 gb内部内存和16 gb交换空间的MarkLogic 8.0-11 AWS实例。
一个相当简单的查询示例,有时会导致错误:
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 .
}我们是否遗漏了一些相关的配置设置,或者这个查询有什么问题?
你真的,亚历山大
发布于 2015-04-23 06:08:26
当所有正在运行的SPARQL查询的总哈希联接表大小超过主机内存的50%时,使用哈希连接内存最多的SPARQL查询将因"XDMP-MEMCANCELED“错误而被取消。这可能表明以下几点:
约翰
https://stackoverflow.com/questions/29801608
复制相似问题