nixos/hercules-ci-agent: Set default concurrency to auto
This commit is contained in:
parent
a1b341da7e
commit
4abd56732e
@ -37,15 +37,22 @@ let
|
|||||||
description = ''
|
description = ''
|
||||||
Number of tasks to perform simultaneously.
|
Number of tasks to perform simultaneously.
|
||||||
|
|
||||||
A task is a single derivation build or an evaluation.
|
A task is a single derivation build, an evaluation or an effect run.
|
||||||
At minimum, you need 2 concurrent tasks for <literal>x86_64-linux</literal>
|
At minimum, you need 2 concurrent tasks for <literal>x86_64-linux</literal>
|
||||||
in your cluster, to allow for import from derivation.
|
in your cluster, to allow for import from derivation.
|
||||||
|
|
||||||
<literal>concurrentTasks</literal> can be around the CPU core count or lower if memory is
|
<literal>concurrentTasks</literal> can be around the CPU core count or lower if memory is
|
||||||
the bottleneck.
|
the bottleneck.
|
||||||
|
|
||||||
|
The optimal value depends on the resource consumption characteristics of your workload,
|
||||||
|
including memory usage and in-task parallelism. This is typically determined empirically.
|
||||||
|
|
||||||
|
When scaling, it is generally better to have a double-size machine than two machines,
|
||||||
|
because each split of resources causes inefficiencies; particularly with regards
|
||||||
|
to build latency because of extra downloads.
|
||||||
'';
|
'';
|
||||||
type = types.int;
|
type = types.either types.ints.positive (types.enum [ "auto" ]);
|
||||||
default = 4;
|
default = "auto";
|
||||||
};
|
};
|
||||||
workDirectory = mkOption {
|
workDirectory = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
|
Loading…
Reference in New Issue
Block a user