dasch-swiss / dsp-api

DaSCH Service Platform API
http://dasch-swiss.github.io/dsp-api/
Apache License 2.0
74 stars 18 forks source link

GraphDB hits into query timeout during load-tests #937

Open subotic opened 6 years ago

subotic commented 6 years ago

The query timeout is currently set at 5 seconds:

owlim:query-timeout "5" ;

This will need some tweaking.

tobiasschweizer commented 6 years ago

The thing is that it should protect GraphDB from malicious Gravsearch queries, but the limit should not be reached when doing reasonable things.

"Quadratur des Kreises"

subotic commented 6 years ago

What worries me is that the load-test actually does the same queries all the time. So why would then suddenly GraphDB hit the timeout? We should write a GraphDB load-test and see if we can provoke this. Maybe it is a bug in GraphDB?

benjamingeer commented 6 years ago

We should write a GraphDB load-test and see if we can provoke this. Maybe it is a bug in GraphDB?

Good idea. Maybe GraphDB does some housekeeping periodically, during which queries are slower than usual?

tobiasschweizer commented 6 years ago

@subotic Excellent idea!

subotic commented 6 years ago

Maybe we could dump the calls to GraphDB done during the load-test into files and then simply run those?

benjamingeer commented 6 years ago

Maybe we could dump the calls to GraphDB done during the load-test into files and then simply run those?

Definitely. Then it would be easier to send the test case to Ontotext to ask them about it.

subotic commented 6 years ago

We are not the first ones to have this use case: https://github.com/buger/goreplay

Trying it out now to capture all requests to GraphDB. There are a lot of requests. After only a few minutes, the saved file is already around 150MB.