【发布时间】:2013-03-22 14:47:29
【问题描述】:
在 AWS 实例上抛出 Node.JS 并测试请求时间,得到了一些有趣的结果。
我在服务器上使用了以下内容:
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello World');
res.end();
}).listen(8080);
我对该服务器的平均延迟为 90 毫秒,但总请求大约需要 350 毫秒以上。显然很多时间都浪费在了盒子上。我确保在测试之前缓存了 DNS。
我在服务器上做了一个 Apache bench,并发数为 1000 - 它在 4.3 秒内完成了 10,000 个请求......这意味着平均 4.3 毫秒。
更新:只是开玩笑,我在同一台机器上安装了 Apache + PHP,并做了一个简单的“Hello World”回显,平均响应时间为 92 毫秒(两次以上 ping)。
是否有我遗漏的设置?
【问题讨论】:
-
您是如何衡量总请求时间的?您是如何对 10000 个请求时间进行基准测试的?
-
@AndreySidorov 刚刚在本地使用 Chrome 开发者工具作为请求时间,我为服务器做了一个 apache bench。
-
嘿乔纳森,所以结论是?...节点的响应时间很慢?进一步调查会很有趣
-
@GeorgeKatsanos 实际上恰恰相反。有关更多详细信息,请参阅我的答案,但通过消除过程,似乎调用
res.write()会杀死性能。因此,使用 express.js 等不使用该功能的软件包会有很大帮助。正确完成后,我在使用 node.js 进行 ping 操作时得到 1-2 毫秒的响应
标签: performance node.js amazon-web-services