On 2014-09-15 14:28, Bart Vandewoestyne wrote:
> [...]
> The experiment was the following: repeat a SPARQL query 1000 times (by
> sending 1000 HTTP curl requests containing a certain SPARQL query to
> Virtuoso) and time its execution (using time_total from curl).  As you
> can see, most of the time the query takes about 1 second to execute, but
> about every 100 query executions it takes much more: 4 to 8 seconds.
>
> I am particularly interested in an explanation for this behavior.  Why
> do we see these 'peaks' of execution times ranging from 4 to 8 seconds?
>   Is Virtuoso itself causing this, or could there be an other 'external'
> factor that is causing this?  If there are other things I can test or
> monitor to find out, or you need more information, please let me know.

OK.  I performed another experiment that probably brings us closer to an 
explanation.

If my Virtuoso server is at machine SERVER, and I run the script that 
performs the 1000 curl requests from CLIENT, and let curl connect to the 
IP address of server, then I do get the spikes:

https://dl.dropboxusercontent.com/u/32340538/repeattest_with_union_with_ip.png

If I run the script on SERVER and let curl connect to localhost, then I 
don't get the spikes and all queries have a running time below one second:

https://dl.dropboxusercontent.com/u/32340538/repeattest_with_union_localhost.png

So the spikes are related to the fact that I send my SPARQL as a HTTP 
request using curl.

Next question is then of course why most of the time the requests take 
only 1 second, and about every 100 or so requests, the request takes 4 
to 8 seconds.

Anybody?  My next research on this issue would be to monitor the client 
with dstat and see if that can learn me more.  If anybody could tell me 
where to look at, or knows of a good way to monitor the client and get 
an insight in what is happening, I would be happy to hear!

Kind regards,
Bart

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to