Architecture #14939
Updated by Nicolas CHARLES over 5 years ago
Software details are store in a specific branch, with deduplication, so that's great, but we store the full dn of these software in a node.
So every node get 2000 entries like
<pre>
softwareId=000ddc3b-6c0a-4394-bb52-ad9cf012658d,ou=Software,ou=Inventories,cn=rudder-configuration
</pre>
there is about twice as much data as necessary there, we could simply have the uuid and not the full DN to the software
Impact is double:
* ldap directory is bigger than necessary, so its slower than necessary
* we need much more memory for everything:
> when we get a node, we need to transport the thousands softwares dn, convert them to string, and manipulate it
> memory impact is huge
> we keep moving from softwareid that's an id to software dn that's a dn
Getting, from all the nodes, all the softwares entry, with 1000 nodes result in 1.5GB of memory, and a huge strain on GC
Graph shows big spike where all softwares are fetched, the frop is a GC