-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcapacity-plan.json.example
More file actions
101 lines (101 loc) · 2.66 KB
/
Copy pathcapacity-plan.json.example
File metadata and controls
101 lines (101 loc) · 2.66 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{
"profile_name": "local-cloud-run-rehearsal",
"profile_platform": "cloud-run",
"target_url": "http://localhost:3000",
"users_file": "./loadtest-users.json",
"seed": 371,
"revisions": {
"code": "replace-with-tested-commit",
"image": "replace-with-tested-image-digest",
"infrastructure": "tools/loadtest/docker-compose.scale.yml@replace-with-commit"
},
"environment_parity": "Local rehearsal only; not Cloud Run or GKE capacity evidence.",
"objectives": {
"availability_percent": 99.0,
"latency_p95_ms": 1000.0
},
"stop_conditions": {
"max_error_rate": 0.05,
"max_latency_p95_ms": 2000.0
},
"phases": [
{
"name": "gradual-ramp",
"kind": "ramp",
"method": "get-public-key",
"scenario": "mixed",
"concurrency": 10,
"duration_seconds": 60,
"ramp_up_seconds": 30,
"max_error_rate": 0.01,
"max_latency_p95_ms": 1000.0,
"slo_applies": true,
"intentional_shedding": null
},
{
"name": "sudden-spike",
"kind": "spike",
"method": "sign-event",
"scenario": "mixed",
"concurrency": 50,
"duration_seconds": 30,
"ramp_up_seconds": 0,
"max_error_rate": 0.05,
"max_latency_p95_ms": 2000.0,
"slo_applies": false,
"intentional_shedding": null
},
{
"name": "sustained-soak",
"kind": "soak",
"method": "nip44-encrypt",
"scenario": "mixed",
"concurrency": 20,
"duration_seconds": 300,
"ramp_up_seconds": 10,
"max_error_rate": 0.01,
"max_latency_p95_ms": 1000.0,
"slo_applies": true,
"intentional_shedding": null
},
{
"name": "traffic-recovery",
"kind": "recovery",
"method": "get-public-key",
"scenario": "warm-cache",
"concurrency": 5,
"duration_seconds": 60,
"ramp_up_seconds": 0,
"max_error_rate": 0.01,
"max_latency_p95_ms": 1000.0,
"slo_applies": true,
"intentional_shedding": null
},
{
"name": "rollout-observation",
"kind": "rollout",
"method": "sign-event",
"scenario": "cold-start",
"concurrency": 10,
"duration_seconds": 60,
"ramp_up_seconds": 10,
"max_error_rate": 0.01,
"max_latency_p95_ms": 1000.0,
"slo_applies": true,
"intentional_shedding": null
},
{
"name": "scale-down-observation",
"kind": "scale-down",
"method": "get-public-key",
"scenario": "mixed",
"concurrency": 2,
"duration_seconds": 60,
"ramp_up_seconds": 0,
"max_error_rate": 0.01,
"max_latency_p95_ms": 1000.0,
"slo_applies": true,
"intentional_shedding": null
}
]
}