Just a further update on my investigations - the below is essentially paraphrased from part of my FileMaker support process:
-----
It appears that the WPE doesn't thread properly, or has some sort of locking/race-condition issue in some cases.
I set up a test suit that attempted to gather performance metrics in pulling up a record via primary/indexed key and the impact of threading/multitasking (ie: what number of simultaneous queries gave the best performance).
To my surprise, I have found that the WPE does NOT answer multiple requests at once, or rather, some sort of locking issue causes them all to be answered asynchronously, ie: 1 query takes 3.5 seconds, 2 queries take 7 seconds, 3 queries takes 10.5 seconds (etc, etc) - See attached PDF for full results. In this case, NONE of the queries respond until all have completed, making it look like there is some sort of race-condition/locking type issue, which explains the terrible performance (in our particular setup).
So far, the problem is 100% replicatable all the time on all machines tested (tried both on single CPU FMSA/WPE combined server and separated 2 x 4 x CPU separated FMSA/WPE servers).
I would hazard a guess that it is due to the number of complex relationships in our particular setup, but have so far not narrowed it down to precisely what recipe of relationships/etc allows this specific problem to occur.
Either way, it does highlight some sort of very real problem with the way the WPE is locking/querying, where it becomes impossible for us to run more than 1 query at a time on a given table via XML.
------
I'd be interested in seeing if anyone else is able to replicate/has seen similar issues with their own FileMaker/WPE/XML setups.
Will let you guys know how I proceed,
Mr F.
FileMaker_non-threading_performance.pdf