Uploaded image for project: 'Active and Available Inventory'
  1. Active and Available Inventory
  2. AAI-1986

Improve Performance of GET ALLs and PUT with incident edges for Resources Microservices

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Medium Medium
    • Dublin Release
    • None
    • None

      Improve Performance of GET ALLs and PUTs with incident edges for Resources Microservices
       

      • Remove the findSubGraph call in DBSerializer as its result is not properly utilized and only adding additional costs. Just removing that call and testing locally found 20 to 25% improvement on large graphs. 
      • In the past, we are using the getParents code to only construct the aai-uri since aai-uri was missing in the past as thats the only way to do it. The call to getParents is expensive as the number of edges the parent grows. Changing it to use aai-uri will get O(1) performance in this section. It should improve the application performance of GET ALLs to 20 to 25% improvement compared.
      • Change the edgeLabels to not fetch from database unless necessary when doing an GET /aai/v14/cloud-infrastructure/cloud-regions/cloud-region/region1/attaic?depth=0. The application spends a huge portion of the time checking for the edges between region1 and tenant n. Each call is not individually expensive but as the number of children grows, the operation will take n^2 time to complete.
      • Improve PUT on Default Cloud Region where there are a lot of incident edges. For the PUT request, it seems there is another area where its getting all the edges only to check if there is an edge. We can easily replace this with a count and improve performance.

            vk250x vk250x
            vk250x vk250x
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: