266 lines
7.3 KiB
JSON
266 lines
7.3 KiB
JSON
{
|
|
"createdAt": "2026-09-21T17:27:47Z",
|
|
"goVersion": "go1.25.14",
|
|
"platform": "linux/arm64",
|
|
"gomaxprocs": 4,
|
|
"duration": "30s",
|
|
"tls": true,
|
|
"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": 4442303,
|
|
"errors": 0,
|
|
"elapsedSeconds": 30.001232972,
|
|
"requestsPerSecond": 148070.68109987277,
|
|
"p50Millis": 0.589824,
|
|
"p95Millis": 2.62144,
|
|
"p99Millis": 3.670016,
|
|
"serverBytesPerRequest": 4475.325703807237,
|
|
"serverAllocsPerRequest": 49.07248492504901,
|
|
"sampledPeakHeapAlloc": 7609472,
|
|
"sampledPeakFileDescriptors": 135,
|
|
"before": {
|
|
"heapAlloc": 3340488,
|
|
"heapInuse": 5988352,
|
|
"stackInuse": 2195456,
|
|
"totalAlloc": 9430136,
|
|
"mallocs": 83639,
|
|
"numGc": 5,
|
|
"goroutines": 124,
|
|
"connections": 122,
|
|
"accepted": 122,
|
|
"fileDescriptors": 135
|
|
},
|
|
"during": {
|
|
"heapAlloc": 6485192,
|
|
"heapInuse": 8716288,
|
|
"stackInuse": 1998848,
|
|
"totalAlloc": 19890182936,
|
|
"mallocs": 218078486,
|
|
"numGc": 5603,
|
|
"goroutines": 130,
|
|
"connections": 128,
|
|
"accepted": 128,
|
|
"fileDescriptors": 135
|
|
},
|
|
"after": {
|
|
"heapAlloc": 2853976,
|
|
"heapInuse": 5251072,
|
|
"stackInuse": 884736,
|
|
"totalAlloc": 19890213312,
|
|
"mallocs": 218078820,
|
|
"numGc": 5604,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1745496,
|
|
"heapInuse": 3686400,
|
|
"stackInuse": 884736,
|
|
"totalAlloc": 19890215312,
|
|
"mallocs": 218078842,
|
|
"numGc": 5605,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "native",
|
|
"scenario": "traffic",
|
|
"concurrency": 128,
|
|
"run": 1,
|
|
"requests": 4491731,
|
|
"errors": 0,
|
|
"elapsedSeconds": 30.000919805,
|
|
"requestsPerSecond": 149719.77623337405,
|
|
"p50Millis": 0.622592,
|
|
"p95Millis": 2.62144,
|
|
"p99Millis": 3.538944,
|
|
"serverBytesPerRequest": 4807.806184297323,
|
|
"serverAllocsPerRequest": 61.06011045630293,
|
|
"sampledPeakHeapAlloc": 5859960,
|
|
"sampledPeakFileDescriptors": 135,
|
|
"before": {
|
|
"heapAlloc": 2685024,
|
|
"heapInuse": 5136384,
|
|
"stackInuse": 2621440,
|
|
"totalAlloc": 8854080,
|
|
"mallocs": 83570,
|
|
"numGc": 5,
|
|
"goroutines": 125,
|
|
"connections": 122,
|
|
"accepted": 122,
|
|
"fileDescriptors": 135
|
|
},
|
|
"during": {
|
|
"heapAlloc": 3345480,
|
|
"heapInuse": 5980160,
|
|
"stackInuse": 1605632,
|
|
"totalAlloc": 21604226160,
|
|
"mallocs": 274349161,
|
|
"numGc": 7802,
|
|
"goroutines": 131,
|
|
"connections": 128,
|
|
"accepted": 128,
|
|
"fileDescriptors": 135
|
|
},
|
|
"after": {
|
|
"heapAlloc": 2764288,
|
|
"heapInuse": 5341184,
|
|
"stackInuse": 1605632,
|
|
"totalAlloc": 21604248208,
|
|
"mallocs": 274349494,
|
|
"numGc": 7803,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1654056,
|
|
"heapInuse": 3506176,
|
|
"stackInuse": 1605632,
|
|
"totalAlloc": 21604258680,
|
|
"mallocs": 274349519,
|
|
"numGc": 7804,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 128,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "nethttp",
|
|
"scenario": "idle",
|
|
"concurrency": 512,
|
|
"run": 1,
|
|
"errors": 0,
|
|
"idleHeapDelta": 7274360,
|
|
"idleHeapPerConnection": 14207.734375,
|
|
"before": {
|
|
"heapAlloc": 1515704,
|
|
"heapInuse": 3301376,
|
|
"stackInuse": 425984,
|
|
"totalAlloc": 3023896,
|
|
"mallocs": 23663,
|
|
"numGc": 1,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 0,
|
|
"fileDescriptors": 7
|
|
},
|
|
"during": {
|
|
"heapAlloc": 8790064,
|
|
"heapInuse": 12066816,
|
|
"stackInuse": 4718592,
|
|
"totalAlloc": 29570320,
|
|
"mallocs": 272972,
|
|
"numGc": 9,
|
|
"goroutines": 514,
|
|
"connections": 512,
|
|
"accepted": 512,
|
|
"fileDescriptors": 519
|
|
},
|
|
"after": {
|
|
"heapAlloc": 6138608,
|
|
"heapInuse": 8765440,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 29675376,
|
|
"mallocs": 274141,
|
|
"numGc": 10,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1820824,
|
|
"heapInuse": 3825664,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 29677376,
|
|
"mallocs": 274163,
|
|
"numGc": 11,
|
|
"goroutines": 2,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
}
|
|
},
|
|
{
|
|
"adapter": "native",
|
|
"scenario": "idle",
|
|
"concurrency": 512,
|
|
"run": 1,
|
|
"errors": 0,
|
|
"idleHeapDelta": 4689576,
|
|
"idleHeapPerConnection": 9159.328125,
|
|
"before": {
|
|
"heapAlloc": 1520864,
|
|
"heapInuse": 3284992,
|
|
"stackInuse": 458752,
|
|
"totalAlloc": 3029160,
|
|
"mallocs": 23661,
|
|
"numGc": 1,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 0,
|
|
"fileDescriptors": 7
|
|
},
|
|
"during": {
|
|
"heapAlloc": 6210440,
|
|
"heapInuse": 9314304,
|
|
"stackInuse": 8880128,
|
|
"totalAlloc": 27150344,
|
|
"mallocs": 271905,
|
|
"numGc": 10,
|
|
"goroutines": 515,
|
|
"connections": 512,
|
|
"accepted": 512,
|
|
"fileDescriptors": 519
|
|
},
|
|
"after": {
|
|
"heapAlloc": 6230688,
|
|
"heapInuse": 9330688,
|
|
"stackInuse": 491520,
|
|
"totalAlloc": 27245184,
|
|
"mallocs": 273078,
|
|
"numGc": 11,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
},
|
|
"afterReclaim": {
|
|
"heapAlloc": 1817296,
|
|
"heapInuse": 3702784,
|
|
"stackInuse": 491520,
|
|
"totalAlloc": 27255960,
|
|
"mallocs": 273107,
|
|
"numGc": 12,
|
|
"goroutines": 3,
|
|
"connections": 0,
|
|
"accepted": 512,
|
|
"fileDescriptors": 7
|
|
}
|
|
}
|
|
]
|
|
}
|