Hi All, I have been trying to resolve a couple of our queries which time out every couple of hours. I believe this is down to the number of concurrent requests. Things evaluated/investigated:
- I turned on the debug logs to see if there are any deadlocks - I couldn't find any traces of locks - Next I profiled my query and looks like there are 234 expressions and normally it returns under 0.00738 secs - Next I did try query-trace the output looks like: xdmp:value("(for $i in cts:search(/record[.//npg:Article], $final-query, ('u...") > Analyzing path for search: fn:collection()/record[descendant::npg:Article] > Step 1 is searchable: fn:collection() > Step 2 is searchable: record[descendant::npg:Article] > Path is fully searchable. > Gathering constraints. > Step 2 predicate 1 contributed 1 constraint: descendant::npg:Article > Step 2 predicate 1 contributed 2 constraints: descendant::npg:Article > Step 2 contributed 3 constraints: record[descendant::npg:Article] > Comparison contributed string scatter value constraint: xdmp:collection = > ("http://ns.nature.com/graphs/articles-labanimal", "lab_animal", > "http://ns.nature.com/graphs/articles-nature", ...) > Search query contributed 1 constraint: > cts:and-query((cts:not-query(cts:or-query((), ()), 1), > cts:collection-query(("http://ns.nature.com/graphs/articles-labanimal", > "lab_animal", "http://ns.nature.com/graphs/articles-nature", > "journals_nature", "http://ns.nature.com/graphs/articles-palgrave", > "journals_palgrave")), cts:or-query(cts:field-value-query("doi", > "10.1038/212441a0", ("lang=en"), 0), ()), cts:not-query(cts:or-query((), ()), > 1), cts:not-query(cts:or-query((), ()), 1), cts:not-query(cts:or-query((), > ()), 1)), ()) > Order by clause contributed 1 range ordering constraint for $i: order by > xs:date($i/descendant::prism:publicationDate) descending > Ordering can be unfiltered. > Executing search. > Selected 1 fragment. > > *I dont see anything unsual with the output - no traces of unsearchable expressions and lack of indexes.* - I did try query-meters <qm:query-meters xsi:schemaLocation="http://marklogic.com/xdmp/query-meters query-meters.xsd" xmlns:qm="http://marklogic.com/xdmp/query-meters" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <qm:elapsed-time>PT0.003874S</qm:elapsed-time> > <qm:requests>0</qm:requests> > <qm:list-cache-hits>150</qm:list-cache-hits> > <qm:list-cache-misses>0</qm:list-cache-misses> > <qm:in-memory-list-hits>0</qm:in-memory-list-hits> > <qm:triple-cache-hits>0</qm:triple-cache-hits> > <qm:triple-cache-misses>0</qm:triple-cache-misses> > <qm:triple-value-cache-hits>0</qm:triple-value-cache-hits> > <qm:triple-value-cache-misses>0</qm:triple-value-cache-misses> > <qm:expanded-tree-cache-hits>1</qm:expanded-tree-cache-hits> > <qm:expanded-tree-cache-misses>0</qm:expanded-tree-cache-misses> > <qm:compressed-tree-cache-hits>0</qm:compressed-tree-cache-hits> > <qm:compressed-tree-cache-misses>0</qm:compressed-tree-cache-misses> > <qm:in-memory-compressed-tree-hits>0</qm:in-memory-compressed-tree-hits> > <qm:value-cache-hits>3</qm:value-cache-hits> > *<qm:value-cache-misses>35</qm:value-cache-misses>* > <qm:regexp-cache-hits>1</qm:regexp-cache-hits> > <qm:regexp-cache-misses>1</qm:regexp-cache-misses> > <qm:link-cache-hits>0</qm:link-cache-hits> > <qm:link-cache-misses>0</qm:link-cache-misses> > <qm:filter-hits>0</qm:filter-hits> > <qm:filter-misses>0</qm:filter-misses> > <qm:fragments-added>0</qm:fragments-added> > <qm:fragments-deleted>0</qm:fragments-deleted> > <qm:fs-program-cache-hits>0</qm:fs-program-cache-hits> > <qm:fs-program-cache-misses>0</qm:fs-program-cache-misses> > <qm:db-program-cache-hits>0</qm:db-program-cache-hits> > <qm:db-program-cache-misses>0</qm:db-program-cache-misses> > <qm:env-program-cache-hits>0</qm:env-program-cache-hits> > <qm:env-program-cache-misses>0</qm:env-program-cache-misses> > > <qm:fs-main-module-sequence-cache-hits>0</qm:fs-main-module-sequence-cache-hits> > > <qm:fs-main-module-sequence-cache-misses>0</qm:fs-main-module-sequence-cache-misses> > > <qm:db-main-module-sequence-cache-hits>0</qm:db-main-module-sequence-cache-hits> > > <qm:db-main-module-sequence-cache-misses>0</qm:db-main-module-sequence-cache-misses> > <qm:fs-library-module-cache-hits>0</qm:fs-library-module-cache-hits> > <qm:fs-library-module-cache-misses>0</qm:fs-library-module-cache-misses> > <qm:db-library-module-cache-hits>0</qm:db-library-module-cache-hits> > <qm:db-library-module-cache-misses>0</qm:db-library-module-cache-misses> > <qm:fragments> > <qm:fragment> > <qm:root xmlns="">record</qm:root> > <qm:expanded-tree-cache-hits>1</qm:expanded-tree-cache-hits> > <qm:expanded-tree-cache-misses>0</qm:expanded-tree-cache-misses> > </qm:fragment> > </qm:fragments> > <qm:documents> > <qm:document> > <qm:uri>/n5061/xml/212441a0.xml</qm:uri> > <qm:expanded-tree-cache-hits>1</qm:expanded-tree-cache-hits> > <qm:expanded-tree-cache-misses>0</qm:expanded-tree-cache-misses> > </qm:document> > </qm:documents> > <qm:hosts> > <qm:host> > <qm:host-name>#removed#</qm:host-name> > <qm:round-trip-count>1</qm:round-trip-count> > <qm:round-trip-time>PT0.000921S</qm:round-trip-time> > </qm:host> > <qm:host> > <qm:host-name>#removed#</qm:host-name> > <qm:round-trip-count>1</qm:round-trip-count> > <qm:round-trip-time>PT0.000856S</qm:round-trip-time> > </qm:host> > </qm:hosts> > </qm:query-meters> > > The only thing that strikes me is that there are value cache misses, I dont know if I can do anything for it or anything else I could try. I am running out of ideas so it would be great if anyone can share some thoughts/pointers. Thanks, Basavaraj Kalloli
_______________________________________________ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general