🎖️性能测试
💖 测试说明
测试报告基于 PicoServer 开箱即用、未做任何性能调优 的状态,在真实办公环境下完成压测,实际运行性能受当前系统 CPU 主频、电源策略、后台进程负载、.NET 运行时版本、编译模式等多因素影响,理性看待。测试工具采用 hey。
开发者基准数据可作为开发者本地参考、线下环境对比、生产部署预估的参考。
🖥️ 测试环境
| 设备 | 处理器 | 内存 | 系统 | 运行时 | 供电 |
|---|---|---|---|---|---|
| 开发笔记本 | Core Ultra 5 125H (1.20GHz) | 24GB | Windows 11 | .NET 10 / .NET FX 4.7.2 | 电池模式 |
| 入门台式机 | i3-10105 @ 3.70GHz | 8GB | Windows 10 | .NET 10 | 插电 |
📊 测试命令
# 100 并发短时压力
hey -n 50000 -c 100 http://127.0.0.1:8090
# 50 并发长稳测试
hey -c 50 -z 15s http://127.0.0.1:8090
预期响应:
{"code": 1, "msg": "Hello PicoServer"}
📈 测试结果
🚀 轻量接口请求
小体量纯 JSON 接口
| 设备 | 运行时 | QPS | 平均延迟 | P99 延迟 | 错误率 |
|---|---|---|---|---|---|
| 开发笔记本 | .NET FX 4.7.2 | 55118 | 1.3ms | 5.3ms | 0% |
| 开发笔记本 | .NET 10 | 43000 | 2.3ms | 6.2ms | 0% |
| 入门台式机 | .NET 10 | 40600 | 2.4ms | 3.3ms | 0% |
📄 常规资源请求
内嵌页面资源,响应 56KB HTML
| 设备 | 运行时 | QPS | 平均延迟 | P99 延迟 | 错误率 |
|---|---|---|---|---|---|
| 开发笔记本 | .NET 10 | 20100 | 4.7ms | 7.1ms | 0% |
| 入门台式机 | .NET 10 | 17100 | 5.8ms | ≈7ms | 0% |
⏱️ 持续稳定性测试
50 并发,持续 15 秒
| 设备 | 运行时 | QPS | 平均延迟 | 总请求量 | 错误率 |
|---|---|---|---|---|---|
| 开发笔记本 | .NET FX 4.7.2 | 69487 | 1.9ms | 100万+ | 0% |
| 入门台式机 | .NET 10 | 17400 | 1.9ms | 261000+ | 0% |
| 开发笔记本 | .NET 10 | 14200 | 1.9ms | 206000+ | 0% |
✨ 关键亮点
- 高性能:轻量接口稳定基准 55118 QPS,峰值可达 76716 QPS;常规请求稳定 1.7 万+ QPS。CPU 主频与供电策略会直接影响并发上限,笔记本电池模式存在性能约束。
- 低门槛部署:8GB 入门配置即可稳定运行,全场景 零错误,P99 延迟维持在个位数毫秒。生产环境可通过减少后台冗余进程,进一步降低性能波动。
- 资源极简:高负载 CPU 占用 <7%,内存常驻约 16MB,无内存泄漏,适合低配置服务器、边缘设备、轻量化部署场景。
- 双编译支持:同时支持 JIT 与 AOT 编译:JIT 稳态吞吐更强,AOT 冷启动更快、跨环境性能统一,可按需选用。
🍑 生产说明
本文档所有基准数据均为线下办公环境实测,未经过服务器级优化。实际运行表现受软硬件环境影响,建议上线前在目标环境自行压测验证。
🛠️ 压测工具
测试使用 hey HTTP 负载测试工具。
蓝奏云下载
发布时间: