2

我在加利福尼亚,我正在进行非常简单的 API 调用,平均每个调用需要 3-5 秒。我认为这太慢了。

我正在使用标准交易

15.00 美元/GB 0.20 美元/1000 次 API 调用

例如:

只需根据电子邮件属性(已编入索引)查找用户顶点:

获取 test_graph/vertices?email=starosta@stanford.edu

或者一个简单的 Gremlin 脚本:“graph.traversal().V().hasLabel('user').has('email','x').hasNext();”

两者都需要超过 2 秒。

人们是否使用 IBM Graph 体验过这一点?这是预期的吗?或者有没有办法让它在几毫秒内返回?

这是我的图表模式,以防万一我在上面犯了一些错误

{
"propertyKeys": [
{"name": "lastJIRAInteractionTime", "dataType": "Integer", "cardinality": "SINGLE"},
{"name": "lastCALENDARInteractionTime", "dataType": "Integer", "cardinality": "SINGLE"},
{"name": "lastEMAILInteractionTime", "dataType": "Integer", "cardinality": "SINGLE"},
{"name": "weight", "dataType": "Float", "cardinality": "SINGLE"},
{"name": "email", "dataType": "String", "cardinality": "SINGLE"},
{"name": "lastSLACKInteractionTime", "dataType": "Integer",          "cardinality": "SINGLE"}
],
"vertexLabels": [
{"name": "user"}
],
"edgeLabels": [
{"name": "2016M1", "multiplicity": "MULTI"},
{"name": "2016M2", "multiplicity": "MULTI"},
{"name": "2016M3", "multiplicity": "MULTI"},
{"name": "2016M4", "multiplicity": "MULTI"},
{"name": "2016M5", "multiplicity": "MULTI"},
{"name": "2016M6", "multiplicity": "MULTI"},
{"name": "2016M7", "multiplicity": "MULTI"},
{"name": "2016M8", "multiplicity": "MULTI"},
{"name": "2016M9", "multiplicity": "MULTI"},
{"name": "2016M10", "multiplicity": "MULTI"},
{"name": "2016M11", "multiplicity": "MULTI"},
{"name": "2016M12", "multiplicity": "MULTI"}
],
"vertexIndexes": [
{"name": "vByEmail",
  "propertyKeys": ["email"],
  "composite": false
}
],
"edgeIndexes" :[
{"name": "eByWeight",
  "propertyKeys": ["weight"],
  "composite": false
}
]
}
4

2 回答 2

3

由于用于密码存储的散列机制,通过 Basic Auth 进行身份验证的请求在设计上总是需要几秒钟的时间。

查看_sessionAPI 文档顶部的 API:

https://ibm-graph-docs.ng.bluemix.net/api.html

于 2016-10-12T00:21:57.507 回答
0

我使用 curl 从 linux 命令行尝试了 Bluemix 文档中的交互式示例,并发现 IBM Graph 存在类似的延迟问题。抱歉,这个答案只是另一个数据点,而不是解决方案。

于 2016-09-08T13:04:57.213 回答