Uploaded image for project: 'Configuration Persistence Service'
  1. Configuration Persistence Service
  2. CPS-1267

NCMP Profiling (pending latest perf fix CPS-1171)


    • Icon: Task Task
    • Resolution: Done
    • Icon: Medium Medium
    • London Release
    • None
    • NCMP

      Execute  use-case performance profiling (focussed but no limited to registration and module sync use-cases).

      we need to understand were the time is spent to allow effective future performance improvements.

      Number of  Modules (mocked DMI) 180

      detailed (sub) use cases to investigate/compare

      1. Register 1 (first) batch of 100 cm-handles with no parallelism (level =1)
        1. include breakdown for each individual cm-handle being processed (percentiles, check with  kissand )
      2. Register 1 (second) batch of 100 cm-handles with no parallelism
      3. Register 1 (nth) batch of 100 cm-handles with no parallelism after several  thousand cm handles have already been registered and models synchronized
      4. Repeat 3 with a parallelism of 2 or 3 to see itis effect(iveness)

      Tooling, need to be decided, should be non-invasive as much as possible. Options

      1. Enable logging on public method exit and entry point (@sourabh can try this)
      2. Need help from ecsakoc and/or kissand to consider tools used by ESH in other use cases
        1. Visual VM  (thread focus)
        2. K6 (statistics on rest endpoints)


      • Mocked number of Modules = 180
        Update dmi-plugin-perf-stub/files/moduleResourcesResponse.json to include 180 modules
      • Clear reporting on each use-case reviewed by Team and stakeholder
      • Tooling: Java Visual VM  (can be used locally with IDE) 
        • Report : Time spent in methods (Suggested monitor 1 batch at 100, 5000, 10000, parallelism 1 and 10)  
        • No code changes to reporting, only external tool


      1. Configuration (DB) changes, need to be handle separate

            sourabh_sourabh Sourabh Sourabh
            ToineSiebelink Toine Siebelink
            0 Vote for this issue
            2 Start watching this issue