Project

General

Profile

Actions

Bug #4242

closed

Promise generation takes too long when getting more and more nodes

Added by Olivier Mauras over 10 years ago. Updated about 10 years ago.

Status:
Released
Priority:
3
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

Hello,

On my 130 managed nodes Rudder server, rules generation takes up to 6mn30s.

Here is a quick run example:

Success: Rules applied at 2013-12-11 15:14 (took 5 min 40s)

To be honest it starts to make the new server provisioning workflow slow because of this.
A new server has to wait around 10mn before being able to apply rudder rules which are

From what i understand, cf-promises is run on all nodes id directories which is ~1.2s here:

/usr/bin/time /opt/rudder/bin/cf-promises -f /var/rudder/share/a17dc652-4f84-4fa2-8c97-26e15e6f42b3/rules/cfengine-community/promises.cf
1.15user 0.04system 0:01.22elapsed 98%CPU (0avgtext+0avgdata 25248maxresident)k
0inputs+16outputs (0major+8468minor)pagefaults 0swaps

While not being the only culprit here, it takes a good 2minutes to run over all 130 nodes. Wouldn't that be faster to only run it on one fully generated rule and then simply copy promise files over their id directories?

Should i try to increase LDAP cache - 1GB by default - or increase JVM heap size - 1GB also?

Let me know if you need more informations.

Olivier


Subtasks 1 (0 open1 closed)

Bug #4583: Some error case are not handled in #4242ReleasedFrançois ARMAND2014-03-11Actions

Related issues 5 (1 open4 closed)

Related to Rudder - Architecture #4427: cf-promises check on ALL generated promises leads to huge generation time NewNicolas CHARLESActions
Related to Rudder - Bug #4475: Promise generation process should not lose time by forking to run "/bin/true"ReleasedNicolas CHARLES2014-02-17Actions
Related to Rudder - Bug #4584: Building node configuration in the promise generation process takes a lot of timeRejected2014-03-11Actions
Related to Rudder - Bug #4542: Missing property 'rudder.debug.nodeconfiguration.path' in configuration fileReleasedNicolas CHARLES2014-02-28Actions
Related to Rudder - Architecture #4782: Split rudder variable parsing and variable bindingReleasedNicolas CHARLES2014-04-29Actions
Actions

Also available in: Atom PDF