GitHub user lizining1231 added a comment to the discussion: [OSPP 2026] Triple
协议性能分析与优化
😔抱歉的消息,根据8月26日优化落地后性能异常引发的排查,发现在8月19日的基准测试中犯了一个错误,那份基准测试报告实测为dubbo-go默认协议grpc协议,而非triple协议。补救措施如下:
- [x] 取消勾选已完成的plan step 1.2(如上)
- [x] 注明初始基准测试为grpc而非triple(如上)
- [x] 先补测dubbo-go端的triple协议的QPS/P99指标性能基准,以供与io.pipe优化落地作对比(如下)
- [ ] 补测三端四指标性能基准测试,并勾选plan step 1.2
这里是**dubbo-go端 triple协议 duplex版本**:
# Dubbo-Go Triple 基准测试报告(QPS、P99指标)
## 基准测试报告
### 测试环境
- **Go 版本**: 1.25.6
- **OS**: Ubuntu 24.04.1 LTS (WSL2, Linux 6.6.87)
- **CPU**: Intel Core i7-10750H @ 2.60GHz, 6 核 12 线程
- **内存**: 7.6 GiB
- **测试框架**: Dubbo-Go(Triple 协议路径)
- **预热时间**: 10s
- **测试时长**: 每个用例 60s
- **轮次**: 3 轮/场景,取中位数
### 测试配置
| 参数 | 值 |
| ---- | ------------------------------------- |
| 报文大小 | 128B / 1KiB / 16KiB / 1MiB |
| 序列化 | protobuf |
| 压缩 | none(消息级)/ 响应 gzip(HTTP 层默认) |
| 并发数 | 50 / 100 |
| 调用模式 | unary |
| 对照项 | duplex(io.Pipe 原路径,未优化基线) |
### 128 bytes 报文
#### QPS(每秒请求数)
| 并发数 | duplex |
| --- | ------- |
| 50 | 5,329.3 |
| 100 | 5,409.2 |
#### P99 延迟 (ms)
| 并发数 | duplex |
| --- | ------ |
| 50 | 15.99 |
| 100 | 30.58 |
### 1024 bytes 报文
#### QPS(每秒请求数)
| 并发数 | duplex |
| --- | ------- |
| 50 | 4,300.3 |
| 100 | 4,368.5 |
#### P99 延迟 (ms)
| 并发数 | duplex |
| --- | ------ |
| 50 | 20.40 |
| 100 | 37.48 |
### 16384 bytes 报文
#### QPS(每秒请求数)
| 并发数 | duplex |
| --- | ------- |
| 50 | 2,584.2 |
| 100 | 2,428.2 |
#### P99 延迟 (ms)
| 并发数 | duplex |
| --- | ------ |
| 50 | 37.28 |
| 100 | 81.24 |
### 1048576 bytes (1MiB) 报文
#### QPS(每秒请求数)
| 并发数 | duplex |
| --- | ------ |
| 50 | 101.3 |
| 100 | 104.3 |
#### P99 延迟 (ms)
| 并发数 | duplex |
| --- | -------- |
| 50 | 1,430.17 |
| 100 | 3,179.88 |
## 性能优化
### Dubbo-Go 客户端配置(duplex 基线)
| 配置项 | 说明 |
| -------------------------- | ---------------- |
| `WithClientNoCheck()` | 跳过服务检查,减少不必要的开销 |
| `MaxCallRecvMsgSize: 16MB` | 最大接收消息大小,支持大报文测试 |
| `MaxCallSendMsgSize: 16MB` | 最大发送消息大小,支持大报文测试 |
### Dubbo-Go 服务端配置
服务端配置了以下参数:
| 配置项 | 说明 |
| ---------------------------------- | -------- |
| `WithMaxServerRecvMsgSize("16MB")` | 最大接收消息大小 |
| `WithMaxServerSendMsgSize("16MB")` | 最大发送消息大小 |
## 许可证
Apache License 2.0
GitHub link:
https://github.com/apache/dubbo-go/discussions/3673#discussioncomment-18153606
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]