2

I'm in California, and I'm making very simple API calls and they're taking 3-5 seconds each in average. I think this is too slow.

I'm using the standard deal of

$15.00 USD/GB $0.20 USD/1000 API Calls

For example:

Just looking up a user vertex based on email property (which is indexed):

GET test_graph/vertices?email=starosta@stanford.edu

Or a simple Gremlin script: "graph.traversal().V().hasLabel('user').has('email','x').hasNext();"

Both take more than 2 seconds.

Do people experience this with IBM Graph? Is this expected? Or is there a way to make it return within milliseconds?

Here is my graph schema, just in case I'm making some mistake on it

{
"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
}
]
}

2 Answers2

3

Requests authenticated via Basic Auth will always take a couple of seconds by design, due to the hashing mechanisms used for password storage.

Have a look at the _session API, documented at the top of the API documentation:

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

0

I tried the interactive examples in Bluemix docs from linux commandline using curl, and find similar latency issues with IBM Graph. Sorry this answer is just another data point, but not a solution.

Ram
  • 73
  • 4