While investigating GC times of WDQS (T175919), it seems clear that memory allocation rates are peaking at more than what the GC can reasonably cope with. Investigating what is allocating memory in blazegraph and why might allow us to reduce allocation rate and improve stability / scalability of the service.
Ideas:
- configure a memory profiler on labs and / or production (jprofiler ?)
- instrument code to keep track of memory allocation per query, at least in some specific places
- identify patterns in queries that are more expansive in term of memory and limit those
- ...