On 2014-09-02 04:34, Hugh Williams wrote: > Hi Bart, > > It would be interesting to see the compiler statistics for running this > sequence of queries which can be obtained by running the command: > > exp_stat_to_file ('stat.dv'); > > as detailed at: > > > http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic > > which should show how the query plan changes when the 100th executions are > occurring and the query is taking seconds to complete. > > If you provide the exported "stats.dv" file this can be imported into a local > Virtuoso instance for analysis by development ...
Hello Hugh, Sorry for the late reply, but we had some problems with our machines. I tried to export the statistics with exp_stat_to_file ('stat.dv'); but that did not work: SQL> exp_stat_to_file('stat.dv'); Connected to OpenLink Virtuoso Driver: 07.10.3209 OpenLink Virtuoso ODBC Driver *** Error 42001: [Virtuoso Driver][Virtuoso Server]SR185: Undefined procedure DB.DBA.exp_stat_to_file. at line 1 of Top-Level: exp_stat_to_file('stat.dv') My version of Virtuoso is Virtuoso Open Source Edition (Column Store) (multi threaded) Version 7.1.1-dev.3209-pthreads as of May 27 2014 Compiled for Linux (x86_64-unknown-linux-gnu) So I used the command string_to_file ('stat.dv', serialize(stat_export()), -2); to export the statistics and that worked. The resulting stat.dv file can be downloaded from https://dl.dropboxusercontent.com/u/32340538/stat.dv The graph with the query timings is online at https://dl.dropboxusercontent.com/u/32340538/repeattest_with_union_b.png The timing data itself is online at https://dl.dropboxusercontent.com/u/32340538/repeattest_with_union_b.dat 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. 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