NodeJS 阿里云服务器,经常遇到整个服务器卡死,系统盘读操作被占满

23 天前
 NobodyVe2x

经常遇到整个服务器卡死,系统盘读操作被占满,内存确是正常

补充一下,这个项目使用 bytenode 编译后文件在跑,不是源代码跑。

axios 也做了统一处理

const axios = require('axios'); const https = require('https');

// 全局 10 秒超时 axios.defaults.timeout = 10000;

// 创建自定义的 HTTPS 代理,限制连接数 const httpsAgent = new https.Agent({ keepAlive: true, keepAliveMsecs: 30000, maxSockets: 30, // 限制并发连接数 maxFreeSockets: 5, // 限制空闲连接数 timeout: 10000, // 连接超时 });

// 创建 axios 实例 const apiClient = axios.create({ httpsAgent: httpsAgent, timeout: 10000, // 请求超时 maxRedirects: 3, });

module.exports = apiClient

有没有大佬能出出主意,到底是哪里出问题了?

3718 次点击
所在节点    Node.js
41 条回复
sagaxu
22 天前
阿里云硬盘就是垃圾,低配 IOPS 只有 2000 ,用超了很可能会死机,后台重启要好几分钟。

把阿里云盾之类的全部禁用掉,swap 也禁用,内存占用不要超 90%,我这么做之后就没遇到过了。
peasant
22 天前
@mark2025 这个是磁盘 IO ,跟 CPU 应该没啥关系,我看阿里云描述是硬盘越大给的 IO 越高,但是这个 30G 的就给这么点,确实很抠,不知道 50G 能给多少。
haython
22 天前
之前用阿里云,内存一旦爆满,100%死机
baiduyixia
22 天前
同样遇到了
ChrisFreeMan
22 天前
JS 真的非常容易内存泄露,我有点想回去写 swift 了。。也许 swift 才是我的真爱。
viking602
22 天前
我一直以为就我这样 原来大家都会这样 我那台阿里也是很容易就把 io 写满然后宕
yh7gdiaYW
22 天前
开了 swap 或类似功能的东西吧,阿里云对吞吐量上限卡的非常严格,连续满载的表现就是系统无响应
yh7gdiaYW
22 天前
阿里云默认的 vm.swappiness 是 0 (不确定是不是所有系统都这样),优点是性能稳定,缺点是低配机器上容易导致卡死。可以把这个值调大一点,我目前设的是:sudo sysctl vm.swappiness=20
hugqq
22 天前
阿里服务器的内存爆了就会卡死,这是阿里的通病
jinlong
22 天前
经验告诉我,你爆内存了。升级 1G 内存,IO 就下来了
iv8d
22 天前
估计就是给的 io 不够
NobodyVe2x
22 天前
@seansong 感谢,可以从这个方向查一下
NobodyVe2x
22 天前
@Martin123123 我是轻量云,什么是 cpu 积分呀
realpg
22 天前
内存炸了而已...
而且你大概率是轻量...

轻量属于娱乐用的...
NobodyVe2x
22 天前
@sagaxu 感谢大佬回复,应该有用
sphawkcn
21 天前
轻量云便宜,慢点就慢点,可以理解。

但是会卡死,而且卡死后必须手动重启来解决就很恼火了。
johnnyyeen
21 天前
只有读磁盘没有写?虚拟内存换页?
johnnyyeen
21 天前
我们大量业务都是 Nodejs ,没有遇到这种
NobodyVe2x
21 天前
@johnnyyeen 这几天分析下来,应该就是内存爆炸了,疯狂 swap ,硬盘就超 io 了,然后死机了,只能强制重启
best66
13 天前
阿里云真的垃圾,排查了好久,实测 vm. swappiness 设置到 60 可以解决。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1140269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX