Sched Load Testing¶
The data provided by cms_perf
on an XRootD server is eventually
weighted by an XRootD manager to select servers with the least load.
As such, a proper weighting via the cms.sched
directive can be
as important as proper sampling via the cms.perf
directive.
To test both directives, cms_perf
can emulate the weighting of
cms.sched
for rapid testing on XRootD servers.
Enabling Sched Emulation¶
The cms_perf
load sensor can be supplied with a cms.sched
directive to compute the total weight for each measurement.
In addition to writing the sensor data to stdout as usual,
the total weight is written to stderr as a new row.
$ cms_perf --interval=1 --sched 'cms.sched runq 20 cpu 20 mem 60'
13 1 70 0 0 44
13 3 70 0 0 45
13 1 70 0 0 44
13 1 70 0 0 44
13 2 70 0 0 45
The sched emulator only uses the load parameters it can process and ignores the rest, including for example a leading cms.sched.
Testing Server Rejection¶
Several optional readings of cms_perf
, such as the total socket count,
are designed to identify unresponsive or overloaded servers.
Ideally, an XRootD manager rejects such servers at a certain threshold
using the maxload option of cms.sched
.
Similar to the total weight, the maxload can be tested by cms_perf
as well.
When specified, an exclamation mark is appended to each total weight that
exceeds the threshold.
$ cms_perf --interval=1 --sched 'cms.sched runq 20 cpu 20 mem 60 maxload 45'
13 1 70 0 0 44
13 3 70 0 0 45!
13 1 70 0 0 44
13 1 70 0 0 44
13 2 70 0 0 45!
Since the sensor does not collect data for the space weight, the emulator ignores this as well.