TechEmpower 最新性能测试报告出炉,ASP.NET Core 依旧表现不俗 - 开源中国社区
TechEmpower 最新性能测试报告出炉,ASP.NET Core 依旧表现不俗
局长 2018年11月06日

TechEmpower 最新性能测试报告出炉,ASP.NET Core 依旧表现不俗

局长 局长 发布于2018年11月06日 收藏 2

TechEmpower 在10月30日发布了最新一轮(Round 17)针对“Web Framework Benchmarks”的性能测试报告,ASP.NET Core 依旧表现不俗,在一些指标上甚至是碾压其他主流 Web 框架。为此我们做了一个简单的统计,看看 ASP.NET Core 和其他我们熟悉的 Web 框架,比如 Servlet、Go、NodeJS 和 PHP 之间的差距。

01 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。


02 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

来自:大内老A公众号

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:TechEmpower 最新性能测试报告出炉,ASP.NET Core 依旧表现不俗
分享
评论(19)
精彩评论
4
1. Plain Text 的测试其实意义真心不大,不然TechEmpower 也不会把它放最后一个tab
2. 把cpu核数跑慢+异步,就可以封神,然而不是每个框架的封装度都足以方便实现这种架构
3. 一旦到了带DB的领域,没有异步api的支持,再牛逼的框架也发挥不了十层功力
3
壮哉我大.Net!
不过,你这样再拉风的男人,开源社区也不会接受你的,没用的,dirvermatiny也没用的。。。
2

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.

引用来自“昵称非法已被屏蔽”的评论

1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。
Swoole 在 plain text 测试中垫底是因为 TFB 在这项测试中使用了 http pipeline ,而 Swoole 不支持 http pipeline,所以测试是跑不通的。其他测试项均未使用 http pipeline,我们觉得 http pipeline 是个错误的设计,所以并不会为了 TFB 测试,专门去支持它。如果真的希望使用 http pipeline 可以在 Swoole 之前使用 Nginx 负载均衡。

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.
1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。
1
请查阅rust框架actix系列
最新评论
0
一篇c#的文章 评论全是php
0

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.

引用来自“昵称非法已被屏蔽”的评论

1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。

引用来自“matyhtf”的评论

Swoole 在 plain text 测试中垫底是因为 TFB 在这项测试中使用了 http pipeline ,而 Swoole 不支持 http pipeline,所以测试是跑不通的。其他测试项均未使用 http pipeline,我们觉得 http pipeline 是个错误的设计,所以并不会为了 TFB 测试,专门去支持它。如果真的希望使用 http pipeline 可以在 Swoole 之前使用 Nginx 负载均衡。
那到底是测Nginx还是swoole
0

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.

引用来自“昵称非法已被屏蔽”的评论

1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。
eechen 哈哈
0

引用来自“aruis”的评论

1. Plain Text 的测试其实意义真心不大,不然TechEmpower 也不会把它放最后一个tab
2. 把cpu核数跑慢+异步,就可以封神,然而不是每个框架的封装度都足以方便实现这种架构
3. 一旦到了带DB的领域,没有异步api的支持,再牛逼的框架也发挥不了十层功力
没有异步 api说明平台渣呗,连异步都没有,落后于时代
0

引用来自“krircc”的评论

请查阅rust框架actix系列
actor框架速度不错,如vertx,也前几名
2

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.

引用来自“昵称非法已被屏蔽”的评论

1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。
Swoole 在 plain text 测试中垫底是因为 TFB 在这项测试中使用了 http pipeline ,而 Swoole 不支持 http pipeline,所以测试是跑不通的。其他测试项均未使用 http pipeline,我们觉得 http pipeline 是个错误的设计,所以并不会为了 TFB 测试,专门去支持它。如果真的希望使用 http pipeline 可以在 Swoole 之前使用 Nginx 负载均衡。
2

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。

引用来自“eechen”的评论

JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.
1. 全世界phper都是瞎子?或者是都和你一样清高,不屑去完善?
2. 测试代码简单更能反应框架真实水平。难道非要各种复杂的写法,才能发挥框架水平?
3. 在老外里面, php性能不行。 但不能体现中国phper水平,至少eechen大神没出手。
0

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?

引用来自“昵称非法已被屏蔽”的评论

TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。
JSON serialization(JSON编码测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/json.php
Multiple queries(根据随机id查询多条数据并json_encode编码输出第一条数据测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/dbraw.php
Fortunes(select查询asort排序foreach输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/fortune.php
Data updates(select查询update更新json_encode编码输出测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/updateraw.php
Plaintext(纯文本测试):
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/PHP/php/plaintext.php

这些测试的代码都很简单,把Swoole测出垫底水平,明明就是不会用Swoole,别因为是老外,就忙着洗.
0

引用来自“eechen”的评论

https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?
TechEmpower 的代码谁都可以提交。
你觉得别的phper提交的太烂,可以自己去提交。
0
https://www.techempower.com/benchmarks/
Fortunes(select查询asort排序foreach输出测试):
PHP的异步协程引擎Swoole排在第4位.
但在纯文本测试中,Swoole排名倒数.

我想说的是,TechEmpower真的会用Swoole?
1
请查阅rust框架actix系列
0

引用来自“冷夜无霜”的评论

plain text测试 go语言写的fasthttp排在第二,go语言自带的框架没完成测试。不得不说go语言自带的框架真是渣。
确实渣,几乎没怎么优化,但是fasthttp不支持http/2
0

引用来自“这波天秀”的评论

这网站上面明明显示的swoole碾压这几个,好几项排在前5,node.js在哪我都看不到,这怎么发的新闻?
那为啥我看得到呢?
0

引用来自“aruis”的评论

1. Plain Text 的测试其实意义真心不大,不然TechEmpower 也不会把它放最后一个tab
2. 把cpu核数跑慢+异步,就可以封神,然而不是每个框架的封装度都足以方便实现这种架构
3. 一旦到了带DB的领域,没有异步api的支持,再牛逼的框架也发挥不了十层功力
推荐下自家的 #ActFramework#, 采用 Full ORM (JPA/Hibernate/EclipseLink), 性能不亚于使用 raw JDBC 的框架, 仅次于使用异步数据库访问的 Vertx: https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=db&l=zik0vz-1&f=zijunz-zik0zj-zik0zj-zik0zj-zik0zj-zihx4v-zik0vz-zik0zj-e7
0
plain text测试 go语言写的fasthttp排在第二,go语言自带的框架没完成测试。不得不说go语言自带的框架真是渣。
3
壮哉我大.Net!
不过,你这样再拉风的男人,开源社区也不会接受你的,没用的,dirvermatiny也没用的。。。
0
这网站上面明明显示的swoole碾压这几个,好几项排在前5,node.js在哪我都看不到,这怎么发的新闻?
1
Wow, 说明了我大Java (servlet)是最棒的选择吗? 人好招, 跑分又高. 666
4
1. Plain Text 的测试其实意义真心不大,不然TechEmpower 也不会把它放最后一个tab
2. 把cpu核数跑慢+异步,就可以封神,然而不是每个框架的封装度都足以方便实现这种架构
3. 一旦到了带DB的领域,没有异步api的支持,再牛逼的框架也发挥不了十层功力
顶部