Server Performance
This page covers throughput and latency tuning for server workloads.
Worker Count
--workers controls how many workers dequeue jobs. --max-concurrent-jobs
caps how many engine runs execute at the same time. Effective concurrency is
the smaller of those two values.
For DNS-heavy batch workloads, a worker count above CPU core count can help because much of the runtime is network I/O. Measure before raising it on shared hosts.
On an 8-core host, start with:
gonemaster-server --workers 16 --max-concurrent-jobs 16Raise concurrency only after measuring both throughput and latency. Increasing
--workers above --max-concurrent-jobs has no effect on engine concurrency.
Cross-Job Hot Cache
The cross-job hot cache shares warmed nameserver data across nearby jobs with compatible resolver settings. It is most useful when a batch contains domains served by the same authoritative infrastructure.
Controls:
--cross-job-hot-cache
--no-cross-job-hot-cache
--cross-job-hot-cache-ttl NEnvironment variables:
GONEMASTER_CROSS_JOB_HOT_CACHE
GONEMASTER_CROSS_JOB_HOT_CACHE_TTLCaches are separated by effective resolver settings. Jobs with different profiles or network settings do not share hot-cache entries.
Fast-Fail
Fast-fail stops sending queries to a nameserver after repeated transport timeouts during one job. It reduces wasted time on unresponsive servers.
Set the threshold in the engine profile:
{
"resolver": {
"defaults": {
"fast_fail_timeout_count": 3
}
}
}Set it to 0 to disable fast-fail.
Resolver Settings
Timeout, retry, retransmit, fallback, parallelism, and ordering settings live in the effective engine profile. Tune them in the server base profile or in a stored profile selected by a job, batch, public profile, or tag default.
Common overrides:
{
"resolver": {
"defaults": {
"timeout": 2,
"retry": 0,
"retrans": 1,
"fallback": false
}
}
}Use deterministic settings when stable ordering is more important than speed:
{
"resolver": {
"defaults": {
"unordered": false,
"parallel": 1
}
}
}