go php nodejs,Go、Nginx、Php、Nodejs谁能胜出紫禁之巅

原标题:Go、Nginx、Php、Nodejs谁能胜出紫禁之巅

声明:这里的测试框架都是很常用的框架,不去跟一些奇葩但是所谓性能极高的框架进行对比

由于我们在项目中大量使用Iris和nginx这两个Web框架(纯Go语言实现,零内存拷贝),同时也听过很多人问Go的Http性能对比nginx、对比nodejs到底如何,有鉴于此,今天我们就来做一个Web框架性能真实比拼。

测试环境图:

cd0db2d84c8863bc502d907bf60fe37c.png

下面从多个维度对4个框架进行对比:Nginx VS Nginx-php-fpm VS Iris VS nodejs-Express

一、 Nginx

并发压力测试100 - 100K

678e88a493421795b425b883ff035a7f.png

张图是在不同并发压力下,每秒处理的请求数

第二张是每秒吞吐的数据量

第三张是99.9%、平均、标准方差的延迟统计,可以看出有0.01%的请求延迟在2秒左右

第四张是单线程统计

(这些图后面不会再解释,请大家自行对比)

17364b89edfe2cc91eb2325d092023b3.png

这张图是soccket错误和请求总数的对比,这里的比例是100K / 3.5M

二、Nginx-Php-Fpm

24d7eb94e61edbee893e848475a592de.png

8930d38c5394c086078477f318b41d5d.png

三、Iris(Golang)

f485ee31234e29fd88cf81567f75184d.png

1e7ba80ded5b86d13f539a213fb08b70.png

四、Express-Nodejs

8dbbd7ae6a0c836cd6929be94eea57f5.png

e253745e1288eeda51722ee152fd015a.png

总结:

因为其它的评测往往对比的是Go最慢的框架之一 --标准库,因此这里对比了另外一个常用的最快的框架iris。

从上面图可以看出,Iris和Nginx的速度、请求延迟、吞吐、socket错误率都是差不多的,在延迟方面iris的表现甚至更好,nginx 最大2秒,iris 0.2-0.3秒

nginx-php的并发数是不错的,但是在并发超过数百后,错误率明显上升的非常高

Express这个结果我不知道为什么,可能是没有调优的原因?(这四个框架都没有进行调优)

最后再对比一下二次开发难度,iris因为是基于go的,因此非常非常非常简单,而且二次开发效率非常高,nginx用lua可以做一些事情,但是总是没有直接用同一种语言方便,而且用lua可能存在一些缺陷;Express不清楚,不评价,但是go的网络编程模型应该是比回调的方式简单很多的。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值