有没有人经历过使用graphQL的响应缓慢?
这是我在解析器中的代码:
getActiveCaseWithActiveProcess(){
console.log ("getActiveCaseWithActiveProcess");
var result = [];
var activeElements = ActiveElements.find({
type:"signal",
$or:[
{signalRef:"start-process"},
{signalRef:"start-task"},
{signalRef:"close-case"}
]
},{limit:200}).fetch();
for (var AE of activeElements){
var checkAECount = ActiveElements.find({caseId:AE['caseId']}).count();
if (checkAECount <= 3){
console.log ('caseId: ' + AE['caseId']);
var checkExistInResult = result.filter(function (obj) {
return obj.caseId === AE['caseId'];
})[0];
if (checkExistInResult == null){
result.push({
caseId: AE['caseId'],
caseStart: AE['createdDate']
});
}
}
}
console.log("loaded successfully");
return result;
}
我的收藏中有大量数据。大约20000条记录。然而,当我加载它时,响应太慢并且它可以重复自己重新加载,这使得响应更长。
I20160812-04:07:25.968(0)? caseId: CASE-0000000284,
I20160812-04:07:26.890(0)? caseId: CASE-0000000285
I20160812-04:07:28.200(0)? caseId: CASE-0000000285
I20160812-04:07:28.214(0)? getActiveCaseWithActiveProcess
I20160812-04:07:28.219(0)? caseId: CASE-0000000194
I20160812-04:07:29.261(0)? caseId: CASE-0000000197
正如您从上面的附件中注意到的那样,此时(20160812-04:07:28.214)服务器重复从头开始重新加载,这就是响应需要更长时间的原因。
这并不总是发生。它在服务器加载缓慢时发生。当服务器加载速度很快时。一切都顺利进行。
答案 0 :(得分:1)
这里没有足够的信息来回答这个问题,但我的猜测是它与GraphQL无关。我认为你的客户只是取消了这个请求而另一个是因为第一个超时了。您可以通过在将请求传递给GraphQL之前将请求记录到服务器来查明是否发生这种情况。