Project

General

Profile

Actions

Bug #26384

open

rudder agent update is really slow

Added by Nicolas CHARLES 5 days ago. Updated 4 days ago.

Status:
New
Priority:
2
Category:
Performance and scalability
Target version:
Severity:
Minor - inconvenience | misleading | easy workaround
UX impact:
It bothers me each time
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Priority:
44
Name check:
To do
Fix check:
To do
Regression:
No

Description

The command rudder agent update is really slow - even on the root server it can take several second
It turns out, most of the time spent is on opening the database

3153052      0.000028 newfstatat(6, "", {st_mode=S_IFREG|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
3153052      0.000113 newfstatat(AT_FDCWD, "/var/rudder/cfengine-community/state/am_policy_hub", 0x7ffd9a740fc0, 0) = -1 ENOENT (No such file or directory)
3153052      0.000147 openat(AT_FDCWD, "/var/rudder/cfengine-community/state/cf_state.lmdb-lock", O_RDWR|O_CREAT|O_CLOEXEC, 0600) = 5
3153052      0.000135 openat(AT_FDCWD, "/var/rudder/cfengine-community/state/cf_state.lmdb", O_RDWR|O_CREAT, 0600) = 7
3153052      0.000163 openat(AT_FDCWD, "/var/rudder/cfengine-community/state/cf_state.lmdb", O_WRONLY|O_DSYNC|O_CLOEXEC) = 8
3153052      0.000090 close(6)          = 0

For each file checked, a persistent class is set
Commenting persist_time in the success body in update.cf changes from

# time /var/rudder/cfengine-community/bin/cf-agent -Kf failsafe.cf

real    0m7.564s
user    0m0.523s
sys    0m0.672s

to
# time /var/rudder/cfengine-community/bin/cf-agent -Kf failsafe.cf

real    0m0.536s
user    0m0.296s
sys    0m0.228s

on the root server
We would set a simple class, and define a persistant class based on that once the update is done
Happens on 8.1 and 8.2 at least

Actions

Also available in: Atom PDF