Domino 8.5.3, Windows 2008 R2 running on ESX VM.
My question isn't about view performance, but more about the index process and how that effects other processes on the server. It appears if 1 view is being indexed, access to all views is "blocked" until that index process has started. All access is via the http task, so when user http request triggers view to be indexed, task manager shows HTTP as taking the CPU hit.
Some settings from our notes.ini:
UPDATE_NO_VIEWS=1 I am aware of this: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/http-and-view-index-performance ...I can provide more detail as to why we do this if required.
We takes steps to negate the above situation, but a simplification of our scenario that occurs every now and then is:
A DB with 300,000 docs in, and 4 views (A,B,C,D) and an api accessed via http that returns data from views A,B,C,D. HTTP thread pool (40 in our case) under full "expected" application load never saturates. All views are accessed constantly so view indexes are always up to date...accept in a specific case, which I can go into more detail if required.
Now lets say view D needs a re-index. Users are randomly accessing all 4 views, as soon as a user uses api call that retrieves data from view D, a re-index is started, all other users accessing data in views A,B,C are now blocked. The thread pool queue very quickly rises to 40 and all requests are pooled, so the app essentially stops working. Since 1,000s of requests are coming in a minute, raising thread pool will serve no purpose.
So it appears that if a view index starts on view D, access to all other views is blocked until it has finished. Is my understanding correct, and is there any way to alter this behavior? E.g. do not block access to other views.
Thanks in advance for any input or comments.