gpt4 book ai didi

performance - Node.JS 响应时间

转载 作者:IT老高 更新时间:2023-10-28 23:07:09 29 4
gpt4 key购买 nike

在 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)。

是否有我遗漏的设置?

最佳答案

虽然 Chrome 开发人员工具是研究前端性能的好方法,但它可以让您对实际服务器计时/cpu 负载进行非常粗略的估计。如果您在开发工具中的总请求时间约为 350 毫秒,请从这个数字中减去 DNS 查找 + 连接 + 发送 + 接收,然后减去往返时间(90 毫秒?),然后您就有了第一个估计值。在您的情况下,我希望实际请求时间为亚毫秒。尝试在服务器上运行此代码:

var http = require('http');
function hrdiff(t1, t2) {
var s = t2[0] - t1[0];
var mms = t2[1] - t1[1];
return s*1e9 + mms;
}
http.createServer(function(req, res) {
var t1 = process.hrtime();
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello World');
res.end();
var t2 = process.hrtime();
console.log(hrdiff(t1, t2));
}).listen(8080);

根据 ab 结果,您应该估计平均发送+请求+接收时间最多为 4.2 毫秒(4200 毫秒/10000 请求)(您在服务器上运行它吗?什么并发?)

关于performance - Node.JS 响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15422411/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com