I ran into an issue in genieacs environment. When displaying 50 devices in device overview loading time is significant (in tens of seconds) and I would like to reduce that. Node process on server is on 100% CPU time during page load. From what I understand this is because there is too much device data stored in mongo. I would like someone to comment on my solution suggestions and please also present a new ones if possible.
1.) Is it possible for genieacs to store in mongo only the data asked for in provision scripts by declare() function? Some extra parameter to pass into declare function? I see genieacs does GetParameterNames and stores all the results. Can this be turned off? Parsing through all this collateral data is unneccesary.
2.) Would using virtual parameters speed things up? Instead of pulling and storing whole TR069 branch it is possible to calculate the wanted value and store it in a single virtual parameter. It would probably require to clear whole mongo or only parts of it every time. I’m not sure if it is good approach.
3.) Are there any parameters for tuning of this process? Can code be edited or something?