初学nodejs,看了社区里异步无阻塞的文章后,和php比较做了个简单的ab测试.
发布于 2年前 作者 jimokanghanchao 1694 次浏览

enter image description here

enter image description here

ab -c 100 -n 100的结果

13 回复

2种语言都是延迟2秒输出HELLO WORLD;

PHP耗时7秒这个是不正常的… 100个并发结果也应该是2S才对,也许LZ的磁盘的I/O差阻塞影响了这个结果,PHP要读文件,NODE不用;要公平的测试需要给PHP加上APC等缓存,而且要是内存的缓存

我自己的测试结果,主要测试吞吐量与系统负载2个指标:

单纯的hello world测试随着并发的增加,PHP的负载能力强于NODE,CPU负载增加很少

论吞吐NODE由于执行时间短所以吞吐能力强,RPS高

结论是NODE牺牲了CPU换取速度,还不能说NODE可以取代PHP

800并发

PHP CPU 用10%以下

NODE CPU 差不多80%…

取代php啥时候成了node的目标了 - -#

linux这么搓的界面,用着不眼睛痛吗。

楼主好勤奋啊,0:30了还在测试。

我不是Phper,这个测试确实没对php做任何优化和调整. 你说的php没加上缓存的问题,有时间我会加上再看看

貌似是12:30…

不是 Linux 界面挫, 是 Unity 界面挫…

这个主题可以多多讨论一下,顶一个。

@neuront Linux界面本来就不是很好,

当时做这个测试只是想单纯的验证,node无阻塞的机制,我不是很了解php的机制,拿来对比是个辅证 也是考虑到单纯研究node和对比着研究 后者更能促进理解 一楼给了我一些思路 接下来我会继续有所深入的研究 包括node的源码 最近还在恶补c/c++ -_-

@jimokanghanchao 测试的时候记得改下参数-c 100 -n 1000或者-c 10 -n 1000才有意义

第一次听说"牺牲"cpu换速度的说法。提高cpu利用率不是好事么,怎么变牺牲了。假如不考虑内存因素,在你这个例子里,假设并发加10倍,php和node的cpu使用率都达到100%,如果php的响应时间变化不大,node会显著变慢,下降到php差不多的水平,请问你能据此说node负载不如php吗?

回到顶部