1、官方的测试结果
以下结果来自 .net core官方的benchmarks摘录。
Linux
| 编号 |
对比方 |
系统环境 |
宿主环境 |
测试结果(QPS) |
| 1 |
ASP.NET Core vs Python Django |
Linux |
Kestrel vs uwsgi |
26.7k vs 1.57k |
| 2 |
ASP.NET Core vs Java Servlet |
Linux |
Kestrel vs Tomcat |
26.7k vs 18.3k |
| 3-1 |
ASP.NET Core vs NodeJS Express |
Linux |
Kestrel vs self host |
26.7k vs 15.6k |
| 4-2 |
ASP.NET Core vs NodeJS Koa |
Linux |
Kestrel vs self host |
26.7k vs 17.5k |
| 5 |
ASP.NET Core vs ASP.NET Core |
Linux vs Nano server |
Kestrel vs Kestrel |
26.7k vs 27.7k |
Windows
| 编号 |
对比方 |
系统环境 |
宿主环境 |
测试结果(QPS) |
| 1 |
ASP.NET Core vs ASP.NET Core |
Windows |
Kestrel vs IIS |
45.6k vs 15.2k |
| 2 |
ASP.NET Core vs ASP.NET Core |
Windows |
Kestrel vs WebListener |
35.5k vs 27.9k |
| 3 |
ASP.NET Core vs ASP.NET |
Windows |
IIS vs IIS |
15.2k vs 18.2k |
| 4 |
ASP.NET Core vs ASP.NET |
Windows |
Kestrel vs IIS |
45.6k vs 18.2k |
-----华丽的分割线-----
2、真正的生产环境
看到这些测试结果,是不是让人开始怀疑人生了,人家都测到单台 4W的QPS,可为啥俺们的生产环境才几百,,,噢,不对几千而已啊!!
是的 ,上面的测试仅仅是个Hello World而已,所以这就是天花板,你不可能达到的!
我一直在努力找一个相对合适的值,评价公司的系统,而现在,我找到了。4核16G的机器下业务的QPS峰值可能在 2000~5000 QPS[出处StackOverflow:谋篇]。
3、结论
评估生产环境的并发高性能,指标就是单台机器 2000~5000 QPS! 千万不要为未达到 45K而懊悔了!
|