aboutsummaryrefslogtreecommitdiff
path: root/scripts/test_scripts/hub/perf_configs/hub.lua
blob: f3cf3e697e2eb80a319897db213f94214f76db97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
-- Perf-test hub config: mirrors the production hub config in the repo root
-- (hub.lua / instance.lua). The launch script overrides hub.instance.config
-- and the effective concurrency (--corelimit=128) via CLI to simulate an
-- r5n.32xlarge box so the default auto-picks match what prod sees there.

hub = {
  instance = {
    baseportnumber = 21000, -- default
    limits = {
      count = 1100, -- headroom for 1000-module perf runs
      memorylimitpercent = 90, -- default: 0 (disabled)
      disklimitpercent = 90, -- default: 0 (disabled)
    },
    corelimit = 4, -- default: 0 (auto)
    provisionthreads = 8, -- default: auto
    -- NOTE: hub.instance.config (path to instance lua) is overridden via
    -- --hub-instance-config on the CLI. If left here, it would be resolved
    -- relative to the hub's CWD at spawn time (NOT this file's dir).
  },

  hydration = {
    -- Match production's per-module download pool size. Without this, the
    -- default auto-picks hardware_concurrency/4 which on --corelimit=128
    -- would be 32. Prod logs consistently show "16 threads" in Download phase.
    threads = 16,
  },

  watchdog = {
    cycleintervalms = 5000, -- default: 3000. slower cycle, 1000 instances to scan
    cycleprocessingbudgetms = 1000, -- default: 500. more budget per cycle for larger instance count
    instancecheckthrottlems = 10, -- default: 5. slight throttle to reduce hub CPU
    provisionedinactivitytimeoutseconds = 600, -- default
    hibernatedinactivitytimeoutseconds = 1800, -- default
    inactivitycheckmarginseconds = 60, -- default
  },
}

network = {
  httpserverthreads = 8, -- default: auto. hub itself needs few threads
}

server = {
  dedicated = true, -- default: false. signals build-farm use, affects thread scaling heuristics
}

gc = {
  enabled = false, -- default: true. hub has no storage, no need for GC
}