Currently there's one config for the DocumentNodeStore's (actually DocumentMk) caches (Documents, Diff, DocChildren, NodeChildren, NodeState) as a whole, and it distributes to each of those subcaches in a hard-coded way. It would be good to be able to configure the individual sub-caches individually (be it in percentage or absolute)
The reason I bring this up is where I think it might be useful to try out giving the NodeChildren relatively more cache as it turned out during a heavy-load test that observation queues were starting to grow at the same point in time when the NodeChildren cache started to perform badly. While the problem there is relative bad performance of one or a few observation listeners, it could nevertheless help bridge a situation when the NodeChildren cache contains a longer 'history' so that the slow listener could catch up.
PS: Leaving it up to discussion as to whether this goes into 1.0 branch or not