Tsukikage7 opened a new pull request, #1017: URL: https://github.com/apache/dubbo-go-pixiu/pull/1017
## Motivation Fixes #820 — benchmark latency regression measured against upstream `60fcbf17` (same `tools/benchmark`, same machine, Apple Silicon): | Path | Baseline | After | Speedup | |---|---|---|---| | gRPC `GetUser` (median) | 1.4–1.9 ms | 0.6–0.8 ms | ~2.2x | | Triple `GetUser` (median) | 1.5–2.0 ms | 0.5–0.7 ms | ~2.5x | | Dubbo `GetUser` (median) | **500 Internal Server Error** | 0.4–0.5 ms | fixed | Latest runs (all three suites in parallel, `go test ./...`): ``` Dubbo via Pixiu: GetUser 500µs | GetGender 400µs gRPC via Pixiu: GetUser 1.2ms | GetUsers 800µs Triple via Pixiu: GetUser 700µs | GetUsers 700µs ``` ## Changes **Performance (all under `pkg/`, `tools/benchmark` untouched — measurement code is identical to baseline):** - `grpcproxy`: share one backend gRPC connection per endpoint instead of dialing per request (new `connection_manager.go`, closes resources on client close) - `grpcproxy`: cache server-reflection descriptors so the proxy stops re-reflecting on every call - `dubboregistry`: default empty `serialization` to `hessian2` — this was causing HTTP 500 on Dubbo requests - `typeconv`: fix unsafe type assertions - `gateway`: honor log-level config and expose `--reload-port` **Benchmark parallelism fixes (so the three suites can run concurrently with `go test ./...`):** - reload server port is now configurable (`--reload-port`, default 18380; suites use 18380/18381/18382) - pixiu listener ports split: dubbo `8881`, grpc `8882`, triple `8883` - triple provider moved from `20000` to `20010` (dubbo provider stays on `20000`) With these, `go test ./...` in `tools/benchmark/test` passes all three suites in one parallel run (previously suites clobbered each other on shared ports 18380/8881/20000). ## Tests - `go build ./...`, `go vet ./pkg/...` clean - `go test ./pkg/...` all pass - `go test -count=1 ./...` in `tools/benchmark/test` — 3/3 suites PASS -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
