假设:


|  |      1BeautifulSoap      2023-09-03 13:50:46 +08:00 via Android  3 keep alive 吧,chrome 多次请求就自动帮你处理了。nodejs 运行完脚本就停掉了所以打开的端口直接关了需要重开 | 
|  |      2hronro      2023-09-03 13:59:17 +08:00 听说 node.js  内置的 http 模块很拉, 在 node.js 里用 shell 去调用 CURL 发请求都比用内置的 http 模块快(听别人说的, 没实际验证过) | 
|  |      3isbase PRO 用 urllib 试试 | 
|  |      4L1shen      2023-09-03 14:08:32 +08:00 觉得内置的 http 慢可以试试 uWebSockets.js | 
|      5sub166      2023-09-03 16:12:21 +08:00 换成 deno 或者 bun 试试 | 
|  |      6zsj1029      2023-09-03 19:38:55 +08:00 via iPhone 进程开销,如果是 koa 常驻内存再试,应该可以稳定 | 
|      7MrKrabs      2023-09-03 19:58:35 +08:00 盲猜 tcp 连接延迟 | 
|      8githmb      2023-09-04 10:19:12 +08:00 有没有一种可能,浏览器的请求复用了一个 TCP 连接,你没发现你在 js 脚本里重复调用了几次只有第一次延迟有点高吗? | 
|      9mark2025      2023-09-04 13:11:44 +08:00 1. nodejs 环境启动开销 2. http 握手开销 | 
|      10KiraMaple      2023-09-11 22:14:15 +08:00 @hronro 你看过 nodejs 的架构图就知道了,nodejs 本身调用 http 请求最后也是用 nodejs 内置的 curl 库,c++和 js 的交互应该不算频繁,而且 V8 在跨语言交互这块不算差 | 
|      11thynson      2023-09-15 09:54:05 +08:00 1. 浏览器的 keep-alive 机制优化掉了连接建立的开销 2. 浏览器默认会开启压缩,而 postman/node.js 默认没有压缩,如果 response body 较大,而且网速不够快的话,会有显著的区别 3. 如果你要测量一个接口的响应时间,最好在服务端测量,浏览器端的测量不可避免的会收到网络的影响 |