EasySwoole框架与Egg.js框架查询Mysql 性能比较

福嘞娃 发布于 2018/05/18 17:10
阅读 1K+
收藏 2

鉴于最近前端er 因为好不容易有了一个node ,终于可以脱离浏览器独立运行得高潮点,那么现在就来测试下node 与swoole 的真实情况

首先swoole 有众多框架,基本都大同小异,这里就选一个比较简单点的EasySwoole,官网地址为https://www.easyswoole.com/。

node.js 也有众多框架,也基本差不多,这里就选一个大厂阿里的Egg.js,目前Github star 也达到8000多,应该比较有代表性,官网:http://eggjs.org/。

一个web后端,CURD是本质,虽然瓶颈是在数据库,但各个环境的开销也会影响性能,通过CURD是能清楚的测试出各个环境的真实状况

系统版本为 debian9.4

EasySwoole 与Egg.js 也是安装最新版本

由于node多进程要额外使用Cluster 模块,而且开启方式也麻烦诡异,这里为了方便测试 我把EasySwoole 就开启1个进程,毕竟node不像swoole 那样开启只是设置123456

=========================================

现在正式测试查询mysql  查询数据库3条数据(只放了3条) 并json输出

由于是测试,ES就不写model,egg也不写Service (这只是设计模式,无关性能)

数据库都直接配置连接好了,代码可以直接查询

 

EasySwoole 代码  连接数据库为普通pdo模式 

Egg.js 代码  数据库连接为插件egg-mysql

访问两者都会输出数据库3条记录

=======================================

下面用ab 压测工具 测试两接口的RPS   ab -n30000 -c1000 -k  http://xxx/xxx

EasySwoole  测试结果

egg.js 测试结果

两者没有做任何优化,各测10次结果基本相同

可能在设置、模式方面有些差异,结果也会有差异,但是相差应该不会太大

其结果是

EasySwoole 在开启1个进程下 仍然是是Egg.js  的10倍RPS

这结果让我很是惊讶,如果有异议者也可以从两者官网分别安装测试,毕竟这只是我个人在debian 上测试的结果,两者都不难,相信花不了几分钟就可以分别安装测试

 

加载中
0
marshalys
marshalys

   请问下,你这个压测为啥两个document length不一致?

0
左华栋
左华栋

node.js10 + fastify 测试下,如果是mysql的话,建议使用 mysql2 库,启用数据库连接池。

另外,做一遍热身,第二遍开始

返回顶部
顶部