Project

General

Profile

Architecture #14939

Updated by Nicolas CHARLES almost 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

Back