production 턴 런타임의 lease, flush, outbox와 Redis 발행을 한 달 단위로 측정한다. nya와 pya 1분 프로필의 격리 fixture 및 현재 process·잠금 경계 문서를 함께 추가한다.
90 lines
2.9 KiB
JSON
90 lines
2.9 KiB
JSON
{
|
|
"$schema": "./load-test.schema.json",
|
|
"version": 1,
|
|
"name": "pya-10-users-800-npcs-1m",
|
|
"target": {
|
|
"baseUrl": "http://127.0.0.1:15001",
|
|
"trpcPath": "/api/trpc",
|
|
"ssePath": "/events",
|
|
"publicProfile": false,
|
|
"allowedHosts": ["127.0.0.1", "localhost"]
|
|
},
|
|
"isolation": {
|
|
"postgresSchema": "load_capacity_pya_10_800_1m",
|
|
"redisPrefix": "load-tests:capacity-pya-10-800-1m:",
|
|
"redisDatabase": 13,
|
|
"profileName": "load-tests:capacity-pya-10-800-1m"
|
|
},
|
|
"capacity": {
|
|
"authenticatedViewers": 10,
|
|
"npcGenerals": 800,
|
|
"humanGenerals": 10,
|
|
"turnIntervalMs": 60000
|
|
},
|
|
"runtimeMetadata": {
|
|
"fixtureSha256": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
"imageDigest": "replace-before-measurement",
|
|
"postgresVersion": "replace-before-measurement",
|
|
"redisVersion": "replace-before-measurement"
|
|
},
|
|
"phases": [
|
|
{
|
|
"name": "idle-calibration",
|
|
"kind": "idle",
|
|
"durationMs": 1000,
|
|
"sseConnections": 10,
|
|
"requestIntervalMs": null,
|
|
"operations": []
|
|
},
|
|
{
|
|
"name": "own-calibration",
|
|
"kind": "own",
|
|
"durationMs": 1000,
|
|
"sseConnections": 10,
|
|
"requestIntervalMs": 1000,
|
|
"operations": [
|
|
{
|
|
"name": "own-context",
|
|
"procedure": "dashboard.getContextBundleDelta",
|
|
"type": "query",
|
|
"weight": 1,
|
|
"input": {
|
|
"include": { "context": true, "commandTable": true, "boardAccess": true },
|
|
"forceSnapshot": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "global-calibration",
|
|
"kind": "global",
|
|
"durationMs": 1000,
|
|
"sseConnections": 10,
|
|
"requestIntervalMs": 1000,
|
|
"operations": [
|
|
{ "name": "global-front", "procedure": "general.getFrontStatus", "type": "query", "weight": 1 }
|
|
]
|
|
},
|
|
{
|
|
"name": "mixed-calibration",
|
|
"kind": "mixed",
|
|
"durationMs": 1000,
|
|
"sseConnections": 10,
|
|
"requestIntervalMs": 1000,
|
|
"operations": [
|
|
{
|
|
"name": "own-context",
|
|
"procedure": "dashboard.getContextBundleDelta",
|
|
"type": "query",
|
|
"weight": 1,
|
|
"input": {
|
|
"include": { "context": true, "commandTable": true, "boardAccess": true },
|
|
"forceSnapshot": false
|
|
}
|
|
},
|
|
{ "name": "global-front", "procedure": "general.getFrontStatus", "type": "query", "weight": 1 }
|
|
]
|
|
}
|
|
]
|
|
}
|