Basically, I'll expose a way of speeding up some scripts that iterate a great number of times a BLCLI based treatment, such as pushing ACLs or updating properties (this is only relevant in pre 7 versions) or setting custom properties values.
The trick is to group all the iterative BLCLI treatment in a function and to lauch the function with its arguments in the background while checking that the number of launched functions stays in a range that has been previously set. The attached script implements this strategy. I'll update the post with a detailled methodology and furter examples.
Note that on large environments the gains are subtancial :
- push of ACLs (v6) on 2800 targets in less than an hour
- update of properties/agent status on 2800 targets in 15 minutes
- update of 3 custom properties on 400+ servers in 50 minutes
Note : the AppServer is a quad CPU Linux box, but anyway the execution time on some treatments was divided by 8 to 10.