Ubuntu上的NodeJS慢吗?

时间:2011-04-17 11:40:07

标签: performance node.js

我刚刚使用本指南在我的笔记本电脑上安装了带有NodeJS 0.4.6的Ubuntu 10.10服务器:http://www.codediesel.com/linux/installing-node-js-on-ubuntu-10-04/

Acer 5920G(Intel Core 2 Duo(2ghz),4 gb ram)

之后我创建了一个关于nodejs如何执行的小测试并编写了这个小小的hello world脚本:

var http = require('http');

http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World');
  res.end();
}).listen(8080);

现在测试我在Windows上使用Apache Benchmark进行以下设置的性能

ab -r -c 1000 -n 10000 http://192.168.1.103:8000/

但与http://zgadzaj.com/benchmarking-node-js-testing-performance-against-apache-php/

相比,结果非常低

Server Software:
Server Hostname:        192.168.1.103
Server Port:            8000

Document Path: / Document Length: 12 bytes

Concurrency Level: 1000 Time taken for tests: 23.373 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 760000 bytes HTML transferred: 120000 bytes Requests per second: 427.84 [#/sec] (mean) Time per request: 2337.334 [ms] (mean) Time per request: 2.337 [ms] (mean, across all concurrent requests) Transfer rate: 31.75 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 1.3 1 28 Processing: 1236 2236 281.2 2327 2481 Waiting: 689 1522 169.5 1562 1785 Total: 1237 2238 281.2 2328 2484

Percentage of the requests served within a certain time (ms) 50% 2328 66% 2347 75% 2358 80% 2364 90% 2381 95% 2397 98% 2442 99% 2464 100% 2484 (longest request)

任何人都有线索? (编译,硬件问题,驱动程序,配置,慢速脚本)

编辑4-17 14:04 GMT + 1 我正在通过1Gbit本地连接测试机器。当我ping它给我0毫秒,所以这是好的我猜。当我在Windows 7机器上发出apachebenchmark时,CPU上升到100%:|

1 个答案:

答案 0 :(得分:2)

您似乎正在使用高带宽延迟产品的介质上运行测试;在您的情况下,高延迟(> 1s)。假设1s延迟,100MBit链接和每个请求76字节,您需要并行超过150000个请求才能使其饱和。

首先,测试延迟(使用ping左右)。此外,观察所有参与计算机上的CPU和网络使用情况。这将告诉您测试中的瓶颈。 Apache Web服务器的基准测试结果是什么?

此外,它可能是硬件/驱动程序问题。在两台计算机上观看dmesg。虽然这可能不是这个特定问题的原因,但不要忘记在两台机器上将CPU速度调节器更改为performance