1.4 KiB
1.4 KiB
GoOmni 性能基线
这份基线用于比较未来自研网络层,不代表生产容量承诺。标准库 benchmark 测进程内请求分发;native benchmark 额外覆盖真实 TCP、Keep-Alive 和 GoOmni 请求链,但不包含 TLS、数据库或业务存储延迟。
运行:
python3 scripts/verifyPerformance.py
本次记录环境:Go 1.25.0、darwin/arm64、Apple M2 Max;每项连续运行 3 次:
BenchmarkTransportRouteDispatch/nethttp 568–671 ns/op 1344 B/op 13 allocs/op
BenchmarkTransportApplicationRequest/nethttp 2017–2208 ns/op 3091 B/op 34 allocs/op
BenchmarkNativeApplicationRequest 15438–16711 ns/op 7855–7874 B/op 100 allocs/op
BenchmarkTransportRouteDispatch 只覆盖标准库路由、路径参数和 http.Handler 调用;BenchmarkTransportApplicationRequest 还包含 GoOmni Context、RequestID、统一 JSON 响应和默认中间件链。
BenchmarkNativeApplicationRequest 启动 native TCP listener,通过复用连接的 HTTP client 并发请求健康接口,包含 socket、请求解析、连接状态管理、响应写回和对象池路径。它用于观察网络层的相对变化,不应直接换算为生产 QPS。
比较新网络层时,应使用相同 Go 版本、机器和 benchmark 命令,并同时运行 -race 全量测试。性能下降需要结合分配次数、取消传播、错误响应和业务契约结果一起判断。