TechEmpower在10月30发布最新一轮(Round 17)针对“Web Framework Benchmarks”的性能测试报告,ASP.NET Core依旧表现不俗,在一些指标上甚至是碾压其他主流Web框架。为此我们做了一个简单的统计,看看ASP.NET Core和其他我们熟悉的Web框架,比如Servlet、Go、NodeJS和PHP之间的差距。
一、Plain Text
如下所示的是在一秒内以Plain Text形式返回"Hello, World!”文本的响应数量统计(硬件环境:Dell R440 Xeon Gold + 10 GbE),它主要体现了Web框架在高并发下的响应能力。ASP.NET Core采用的是Kestrel Server,操作系统为Linux,这个指标与其他Web框架直接的差距可以说是非常明显。具体的数据是:aspnetcore:7016017;servlet:2454351;nodejs:888461;php:288157。
由于Go在本轮中没有完成测试,这个以高性能著称的框架有没有可能更好呢?为此我又统计了上一轮(Round 16,6月6日)的测试结果。如下面的图表所示,Go的指标仅高于PHP,还比不上NodeJS。
二、JSON Serialization
如下所示是在1秒内以“application/json”的形式返回JSON字符串{"message":"Hello, World!"}的响应数量统计(硬件环境:Dell R440 Xeon Gold + 10 GbE),它体现了针对JSON序列化的性能。可以看出,ASP.NET Core在这个指标上略低于Servlet,但明显高于其他的框架。具体的数据是:aspnetcore:971122;servlet:1080196;nodejs:561593;php:251934;go:480334。
关于本轮测试的详细数据请参阅:
https://www.techempower.com/blog/2018/10/30/framework-benchmarks-round-17/
https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=plaintext