OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

性能测评:Ngix_Lua, Node.JS Python三者性能相当,均比php快近一倍


分享到
分类 编程技巧   关键字 分享   发布 ourjs  1385516822000
注意 转载须保留原文链接,译文链接,作者译者等信息。  

之前我们介绍过:  性能测评:Node.JS比Java EE快20%,  下面我们来比较一下其他几种脚本语言php, lua, python 和 node.js之间的性能:

 

1. ngx_lua nodejs php 比较

 

我在研究一阵子ngx_lua之后发现lua语法和js真的很像,同时ngx_lua模型也是单线程的异步的事件驱动的,工作原理和nodejs相同,代码甚至比nodejs的异步回调更好写一些。

性能测试,100并发
php:17400
nodejs:31197
ngx_lua:32628

单纯做http代理服务器加上一些简单的逻辑,似乎ngx_lua的方案更加合适。 引自: PHP vs Node.js vs Nginx-Lua

 

以下是从占用的资源上来分析:

lua php nodejs

出自:php node lua 由图中可以看出:

nodejs占用CPU比lua高一些,

nodejs与ngx_lua二者占用内存不变(在处理同一业务逻辑时),php占用内存不稳定(可能跟多线程有关,连接数越多,内存占用越多)


下面猿友对ngix_lua的一些看法:

 

xueyangkk

其实这样考虑是对的 ! ngx_lua是基于nginx的扩展 nginx已经有无数家验证过 他确实是个可靠的WEB应用。而且ngx_lua 已经有很多广泛的应用 可以说技术上来说已经很成熟了,你们的平台是一个OPANAPI的应用 。所以 在这个上 选ngx_lua 是对的 !当然这并不是说NODE不好 !语言没什么好坏 !只能从成本 技术成熟度来考虑 !

jayceefun

之前使用过章大神openresty, 确实很值得一试, 比node.js易用, 没有那么裸, 做的各种性能优化也都是c级别的, 刚出时也是号称并发超过node.js的. lua确实是很快, 据说是脚本语言里最快的了. 不过也有缺点就是lua的文件处理很弱, 各种库非常的少, 记得当初的想要个好点的orm都没有, 还得手写. 同意楼主说的lua某种程度上真的是跟js很像啊, 当初转型node.js语言上也基本没费多少劲. 推荐一个用lua完全模仿node.js写的一个东西, 叫luvit, 现在完全不成熟, 只有些简单的http server功能, 但是基础的性能测试结果是比node.js快2倍还是4倍来的, 很恐怖啊有木有. 

 

结论:

并发请求数lua/nodejs相当,均比php快一倍

资源占用上lua最少,nodejs次之,二者对内存并不贪婪,php占用最多且不稳定。

 

2. nodejs python php 比较

 

国外某猿友做过一个关于php/nodejs/go/scala/python之间的性能比较:API Programming Language Bake-off 

以下测试用例为使用mongodb添加删除数据时,各个语言每秒处理的最大请求数:

由其博文可以看出,在并发线程达到一定程度时go和php写的测试脚本都挂了(go不是号称最快吗?)

 

另外两位中国猿友的评测,也证明了这一点,

1. 测了一下nodejs和php性能

2. 单服务器node.js和php性能测试

在他们的结论中node.js的并发处理能力均二倍于php.

 

结论:

在一般情况下lua和node.js的处理能力相当,均2倍于php,甚至lua的性能更好。在并发数达到一定程度时,php可能会挂,可能源于大并发下多线程对内存资源的占用是不可测且不可控的。

原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. 他们为什么说面向对象有问题,探讨面向对象的一些缺陷
  2. 理想和现实之间不是一条直线
  3. 心情随笔:半夜无眠,写于自己共勉
  4. 还有王法吗?还有法律吗?代码女神每天编程9小时
  5. 工作:大家也可以考虑下国外[美国]
  6. JavaScript教程:Airbnb代码规范
  7. 入静和入世
  8. NodeJS on Nginx: 使用nginx反向代理处理静态页面
  9. 为什么 离职:热门回答
  10. C语言卓尔不群:我喜欢和讨厌的十件事
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 编程技巧
  1. 性能测评:Ngix_Lua, Node.JS Python三者性能相当,均比php快近一倍
  2. 技术干货:Nginx 战斗准备 — 优化指南
  3. 高级JavaScript调试—— console.table()
  4. NodeJS on Nginx: 使用nginx反向代理处理静态页面
  5. 优秀工具推荐:超实用的 CSS 库,样板和框架
  6. 写给 Node.js 学徒的 7 个建议
  7. 一些达成共识的JavaScript编码风格约定
  8. 十大关系数据库SQL注入工具一览
  9. PHP开发者常犯的10个MySQL错误

 关键字 - 分享
  1. 第三方评论平台多说即将关闭
  2. AutoVue使用教程:如何在64位Linux上安装AutoVue
  3. AutoVue 21.0.1新版本特性:支持在没有Applets的浏览器中运行
  4. MFC界面库BCGControlBar v25.2新版亮点:支持Visual Studio 2017 RC
  5. 软件逆向工程的前世今生
  6. 对于企业而言,渗透测试为什么是必要的?
  7. LEADTOOLS v19更新发布文档和医疗功能,增加Visual Studio 2017兼容性!
  8. Node初学者入门,一本全面的NodeJS教程
  9. Web报表OnceVI如何制作条形码与打印二维码(Barcode/Qrcode)
  10. 电子邮件.NET控件MailBee.NET Objects v11.0发布丨附下载

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号