266 lines
7.3 KiB
JSON
266 lines
7.3 KiB
JSON
{
|
|
"createdAt": "2026-09-21T17:29:24Z",
|
|
"goVersion": "go1.25.14",
|
|
"platform": "linux/arm64",
|
|
"gomaxprocs": 4,
|
|
"duration": "30s",
|
|
"tls": false,
|
|
"notes": [
|
|
"Loopback HTTP/1.1 health response, fixed requestId, optional TLS, no access logs or database.",
|
|
"Each case starts a fresh server process; load client runs in the parent process on the same machine.",
|
|
"Closed-loop concurrency; throughput is successful responses / actual elapsed time, including drain.",
|
|
"Latency percentiles include failures and are histogram upper bounds with \u003c=6.25% rounding.",
|
|
"Memory is server-only runtime.MemStats (not RSS or kernel socket memory); sampling interval 200ms.",
|
|
"FileDescriptors is read from /proc/self/fd on Linux and omitted on other platforms.",
|
|
"Idle memory measured after a forced GC; delta includes heap growth amortized across connections, excluding stacks.",
|
|
"After is after closing clients and one forced GC; afterReclaim is a second GC to observe pooled-cache release.",
|
|
"Native limits: 8192 connections / 4096 active requests. These cases do not benchmark overload rejection."
|
|
],
|
|
"results": [
|
|
{
|
|
"adapter": "nethttp",
|
|
"scenario": "traffic",
|
|
"concurrency": 128,
|
|
"run": 1,
|
|
"requests": 4456189,
|
|
"errors": 0,
|
|
"elapsedSeconds": 30.001393348,
|
|
"requestsPerSecond": 148532.7347403705,
|
|
"p50Millis": 0.589824,
|
|
"p95Millis": 2.62144,
|
|
"p99Millis": 3.538944,
|
|
"serverBytesPerRequest": 4427.911252417705,
|
|
"serverAllocsPerRequest": 47.07614668049313,
|
|
"sampledPeakHeapAlloc": 6219064,
|
|
"sampledPeakFileDescriptors": 135,
|
|
"before": {
|
|
"heapAlloc": 2105600,
|
|
"heapInuse": 4202496,
|
|
"stackInuse": 1015808,
|
|
"totalAlloc": 4172144,
|
|
"mallocs": 30855,
|
|
"numGc": 2,
|
|
"goroutines": 58,
|
|
"connections": 56,
|
|
"accepted": 56,
|
|
"fileDescriptors": 63
|
|
},
|
|
"during": {
|
|
"heapAlloc": 3500920,
|
|
"heapInuse": 5947392,
|
|
"stackInuse": 2097152,
|
|
"totalAlloc": 19735781560,
|
|
"mallocs": 209811062,
|
|
"numGc": 6570,
|
|
"goroutines": 130,
|
|
"connections": 128,
|
|
"accepted": 128,
|
|
"fileDescriptors": 135
|
|
},
|
|
"after": {
|
|
"heapAlloc": 2828640,
|
|
"heapInuse": 5054464,
|
|
"stackInuse": 1015808,
|
|
"totalAlloc": 19735811920,
|
|
"mallocs": 209811396,
|
|
"numGc": 6571,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1722584,
|
|
"heapInuse": 3530752,
|
|
"stackInuse": 1015808,
|
|
"totalAlloc": 19735822392,
|
|
"mallocs": 209811421,
|
|
"numGc": 6572,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "native",
|
|
"scenario": "traffic",
|
|
"concurrency": 128,
|
|
"run": 1,
|
|
"requests": 4398474,
|
|
"errors": 0,
|
|
"elapsedSeconds": 30.000375472,
|
|
"requestsPerSecond": 146613.96501871088,
|
|
"p50Millis": 0.622592,
|
|
"p95Millis": 2.62144,
|
|
"p99Millis": 3.670016,
|
|
"serverBytesPerRequest": 4591.297385411395,
|
|
"serverAllocsPerRequest": 59.0589788640333,
|
|
"sampledPeakHeapAlloc": 4980920,
|
|
"sampledPeakFileDescriptors": 135,
|
|
"before": {
|
|
"heapAlloc": 2202712,
|
|
"heapInuse": 4120576,
|
|
"stackInuse": 1671168,
|
|
"totalAlloc": 4300920,
|
|
"mallocs": 32647,
|
|
"numGc": 2,
|
|
"goroutines": 131,
|
|
"connections": 128,
|
|
"accepted": 128,
|
|
"fileDescriptors": 135
|
|
},
|
|
"during": {
|
|
"heapAlloc": 4382752,
|
|
"heapInuse": 6021120,
|
|
"stackInuse": 1638400,
|
|
"totalAlloc": 20199003096,
|
|
"mallocs": 259802030,
|
|
"numGc": 9032,
|
|
"goroutines": 131,
|
|
"connections": 128,
|
|
"accepted": 128,
|
|
"fileDescriptors": 135
|
|
},
|
|
"after": {
|
|
"heapAlloc": 2260152,
|
|
"heapInuse": 4382720,
|
|
"stackInuse": 557056,
|
|
"totalAlloc": 20199025048,
|
|
"mallocs": 259802362,
|
|
"numGc": 9033,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1645880,
|
|
"heapInuse": 3489792,
|
|
"stackInuse": 557056,
|
|
"totalAlloc": 20199035520,
|
|
"mallocs": 259802387,
|
|
"numGc": 9034,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "nethttp",
|
|
"scenario": "idle",
|
|
"concurrency": 512,
|
|
"run": 1,
|
|
"errors": 0,
|
|
"idleHeapDelta": 5162344,
|
|
"idleHeapPerConnection": 10082.703125,
|
|
"before": {
|
|
"heapAlloc": 1516408,
|
|
"heapInuse": 3301376,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 3006544,
|
|
"mallocs": 23238,
|
|
"numGc": 1,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 0,
|
|
"fileDescriptors": 7
|
|
},
|
|
"during": {
|
|
"heapAlloc": 6678752,
|
|
"heapInuse": 8675328,
|
|
"stackInuse": 4718592,
|
|
"totalAlloc": 10467200,
|
|
"mallocs": 59319,
|
|
"numGc": 4,
|
|
"goroutines": 514,
|
|
"connections": 512,
|
|
"accepted": 512,
|
|
"fileDescriptors": 519
|
|
},
|
|
"after": {
|
|
"heapAlloc": 6108264,
|
|
"heapInuse": 8069120,
|
|
"stackInuse": 491520,
|
|
"totalAlloc": 10563168,
|
|
"mallocs": 60468,
|
|
"numGc": 5,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1806072,
|
|
"heapInuse": 3629056,
|
|
"stackInuse": 491520,
|
|
"totalAlloc": 10573944,
|
|
"mallocs": 60497,
|
|
"numGc": 6,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "native",
|
|
"scenario": "idle",
|
|
"concurrency": 512,
|
|
"run": 1,
|
|
"errors": 0,
|
|
"idleHeapDelta": 2692536,
|
|
"idleHeapPerConnection": 5258.859375,
|
|
"before": {
|
|
"heapAlloc": 1511104,
|
|
"heapInuse": 3309568,
|
|
"stackInuse": 425984,
|
|
"totalAlloc": 3001496,
|
|
"mallocs": 23227,
|
|
"numGc": 1,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 0,
|
|
"fileDescriptors": 7
|
|
},
|
|
"during": {
|
|
"heapAlloc": 4203640,
|
|
"heapInuse": 6283264,
|
|
"stackInuse": 4718592,
|
|
"totalAlloc": 8087336,
|
|
"mallocs": 58784,
|
|
"numGc": 4,
|
|
"goroutines": 515,
|
|
"connections": 512,
|
|
"accepted": 512,
|
|
"fileDescriptors": 519
|
|
},
|
|
"after": {
|
|
"heapAlloc": 4233984,
|
|
"heapInuse": 6316032,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 8182368,
|
|
"mallocs": 60013,
|
|
"numGc": 5,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1804784,
|
|
"heapInuse": 3686400,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 8193144,
|
|
"mallocs": 60042,
|
|
"numGc": 6,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
}
|
|
}
|
|
]
|
|
}
|