森栏
同一套业务逻辑,实现一个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/secNode.js HTTP请求 1000 333 369 485 1 956 0.0 183.3180568285976 40.995932630614114Tomcat 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的执行效率变高了,但这么想来也是违背了高并发的特性