Here is what we have identified as the root cause and we (our team) are in the midst of conducting more test to see what else we can do to fine tune...
We have a qvw that is 700MB for financial reporting with 6 years of data on v11.0SR2.
Within this qvw, we have a tab with a P&L pivot table, and user can select the period they want to show, when user select a column, we noticed only 1 x CPU (32 cpu in total with 256GB RAM) was actually moving... and when we have 5 users, all the users request were queued... if the response took 30 seconds to complete, the user A would be 30 seconds, User B would then be 25-30 seconds later and continue...
We did all the standard Qliktech's text book recommendation and tweaking, including NUMA and etc... the NUMA setting helped improve by 1seconds on a 50-60 seconds response time calculation and so it was more trial and error, but no big improvement...
So we went back to the beginning and started conducting simple test...
If we changed the pivot table expression to a simple SUM(), all the CPU were used... so we start breaking down the expression, one bit at a time.
We then found that within the original expression, we had a data island field called 'unit' which allows us to show the amount in "full, thousand, and million' this is a field that is selectable by the user and based on the selection, the expression would then divide on it, for example Total Amount 82,928,000 and in million, the 'unit' value is 1,000,000, a simple divide.
We found that when trying to divide on this, it was causing (seems to be in task manager) the CPU to go into a single-thread mode.
Instead, what we did was to change the expression to use a "variable" which incorporated the expression to pickup the selected data island field.
Once this was changed, the whole expression became "multi-thread" and we could see all the CPU going crazy... And all the Users request were completed almost together... the major cpu issue was resolved.
We've had people telling us not to use data island, but no-one can tell us why?, I guess we know where not to use data island now.
What a learning exercise, drove a few of our us nuts for a while, a big sign of relief... !
Now, we are in the midst of doing other test to see what perform well with what... e.g. which browser works well with which QV release, when to use Set Analysis vs. If, which functions works best and when... lots to understand and learn...
Hope this help.
Any questions just drop me a note...