On 2014-04-18 04:50, Hugh Williams wrote: > >> What else could I try? Do you need any further info from my side? > > [Hugh] I note that you do not appear to have any of the parameters the new v7 > vectored execution set in your INI file , these being: > > MaxQueryMem = 2G ; memory allocated to query processor > VectorSize = 1000 ; initial parallel query vector (array > of query operations) size > MaxVectorSize = 1000000 ; query vector size threshold. > AdjustVectorSize = 0 > ThreadsPerQuery = 8 > AsyncQueueMaxThreads = 10 > > See the following documentation for details on use: > > http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#confvectexec > http://docs.openlinksw.com/virtuoso/vexqrparl.html > > These should improve query performance, although probably not the relative > performance between the two builds.
Hugh, Note that I did have AdjustVectorSize = 1 MaxVectorSize = 3000000 in my config file, but I'll try next with the following settings for my 24-core machine (the output of nproc on linux is 24): VectorSize = 10000 ; The default is 10000, which is good for ; most cases. MaxQueryMem = 1G ; default AdjustVectorSize = 1 ; default MaxVectorSize = 1000000 ; This can reach up to 4000000 but values in ; excess of 1000000 have not been found ; useful in practice. ThreadsPerQuery = 24 ; The number of cores on the machine is a ; reasonable default if running large queries. AsyncQueueMaxThreads = 16 ; default (TODO: we have 24 cpus, so ; experiment with other values!) I'm either taking the default here, or following the advice written in the documentation. It's hard to understand what all these parameters exactly stand for... so if you have better suggestions for these parameters, or formulas to calculate their optimal value, I would be glad to hear! Next to that, I also played around with the IndexTreeMaps parameter. Query timing results for a value of 64, 256 and 1024 can be found at https://dl.dropboxusercontent.com/u/32340538/query_timings_IndexTreeMaps.png As you can see, for one of my two worst queries, the result is clearly best with IndexTreeMaps=256, not 1024. So it isn't always 'the higher the, the better' as mentioned in the documentation... > If the query response time are still not fast enough, are you able to provide > a copy of the datasets such that we can load locally for recreation ? I cannot provide you a copy of the dataset as I am bound by an NDA. I will first try with the vectored execution parameters mentioned above and see if that brings any improvement. If not, we're up for another iteration ;-) In the meanwhile, still feel free to point me to other parameters that I might still tweak. Kind regards, Bart ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users