.net core 的效能以及大名鼎鼎的QPS
阿新 • • 發佈:2018-11-16
華麗的目錄
1、官方的測試結果
以下結果來自 .net core官方的benchmarks摘錄。
Linux
編號 | 對比方 | 系統環境 | 宿主環境 | 測試結果(QPS) |
---|---|---|---|---|
1 | ASP.NET Core vs Python Django |
Linux | Kestrel 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而懊悔了!