1. 如何对基于node.js 的websocket进行并发访问的性能测试
源地址 私信我吧
这段代码使用了node.js的异步利器 onRequest
var /tj/should.jsSuperAgent: /visionmedia/superagentMocha: /mochajs/mocha http://mochajs.org/(全局安装) npm install-g mocha命令行: 传到项目根目录mocha --recursive --timeout 15000webstom配置测试环境后,run,选择配置的mocha测试。
6. web自动化测试,使用node.js 与python哪个语言更合适
Node.js是现在WEBAPP快速开发的标配。python的WEB框架还有模板很多。这个取决于你习惯什么方式开发。
如果熟悉 python使用node.js没有压力,可以完美融合。 如果对python不熟悉,node.js可以给你惊喜。
不过就我个人而言python很熟练,python给我的自由度与支撑力度远远大于node.js。 node.js是一些喜欢javascript的极客做的js的后台执行程序。 支持力度显然远远比不上有10几年WEB开发历史的python。
node.js有一个最大的好处是前端与后端的融合比较好。都是JS开发的。有利于前端人员快速开发后台服务器。
再加上node.js大量爆发的各种工具。所以node.js很有前途。 相对python的架构不温不火。
从开发速度来看。两者差不多。从系统维护性上。 python要好很多。
从最高性能上看,python也要好很多。 著名的某团队聊天软件就是node.js架构。
但是限于javascript语言本身的性能以及执行方式,支持力度。 后台开发还是不建议用node.js,除非你有足够的理由 。比如快速开发,比如缺少足够 的后台开发人员,或者是团队成员整体偏前端等。
node.js真的很适合初学者。 特别是正在学习javascript人。 不过node.js想做好就不容易,特别是团队规模超过10个人时,代码很难维护。
v8引擎很强大,大多数测试结果显示node.js比python性能高。这个感觉挺无语。 js在v8上的优化效果的的确确比python解释器要强。这是事实。 不过python如果你用得很熟练的情况下,有很多技巧可以将这些差距缩小,以至于超过,完全没有压力。
比如我这边做一个服务器,通常性能要求很高的情况下,不会使用python做前端,而是使用java+cache做后台服务器前端。 这样性能就远远超过其它的WEB后端服务器了。
python在后处理,批处理,数据处理,快速开发很强大。 WEB方面就当是玩具吧。 算是一种快速 开发的补偿。 做做胶水,连接不同系统的接口还是可以的。
7. Node.js真的有高并发优势吗
同一套业务逻辑,实现一个webservice中间接口,中间涉及memcached和mogodb的一些操作。
分别在Node.js和JAVA平台实现,java代码部署在Tomcat 7.0上,用Apache jmeter进行压力测试。
得到的测试结果很是出乎意料,Node.js的高并发优势为什么没有体现出来呢???
操作系统:CentOS 6.4(虚拟机)
内存:1.5G
CPU:单核
并发数 100
ramp-up period(in seconds)1
执行次数 10
以下是测试结果:
Lable #Sample Average Median 90%Line Min Max Error% Throughput KB/sec
Node.js HTTP请求 1000 333 369 485 1 956 0.0 183.3180568285976 40.995932630614114
Tomcat HTTP请求 1000 48 9 188 2 563 0.0 183.4862385321101 58.414564220183486
可以看到Node.js的平均执行时间为333毫秒,Tomcat的执行时间为48毫秒,Tomcat比Node.js快了近7倍!
补充1:即使是测试接口直接返回,不涉及后续的操作,Tomcat也比Node.js快了很多,求各位大神给个解释。
补充2:修改jmeter 的 ramp-up period的测试条件,比如这个值增大(如10秒),node.js的执行效率变高了,但这么想来也是违背了高并发的特性
抛砖引玉,一起探讨问题。如果你也感兴趣,不妨拿出点时间来写一段程序测试一下,我希望能得到不一样的结果。
转载请注明出处365教育网 » nodejs性能测试工具