最近帮一个朋友维护一个网站,建在阿里云上,查看了下负载的峰值都是 3 左右,cpu 和内存使用都不超过 5%,于是给降了配置,从 16c 降到了 8c,结果部分客户端出现了访问服务器失败的情况。
然后去排查原因,发现服务器就一个 node.js 服务,通过 nginx 做代理,配置大概如下:
upstream io_nodes {
ip_hash;
server 127.0.0.1:69;
server 127.0.0.1:70;
server 127.0.0.1:71;
server 127.0.0.1:72;
一共 10 多个端口,都是对应本机的同一个 node.js 服务,我是没大搞懂意义何在,但是,降到 8c 之后,查了下,端口就只剩下了 8 个,把服务器改成了 16c 之后又全都出现了。
本来以为是 worker_processes 参数的问题,但是经过测试,woker 确实根据设定的值来了,但是打开的端口还是跟 cpu 数量一致。
请教下,这个是由什么配置控制的?
================
刚好在群里问到了,说是 node.js 的进程数和 cpu 有关,是这个开不起来了,现在变成 node.js 的进程数和 cpu 数量的问题了。
再就是这种模式还有救么。。
然后去排查原因,发现服务器就一个 node.js 服务,通过 nginx 做代理,配置大概如下:
upstream io_nodes {
ip_hash;
server 127.0.0.1:69;
server 127.0.0.1:70;
server 127.0.0.1:71;
server 127.0.0.1:72;
一共 10 多个端口,都是对应本机的同一个 node.js 服务,我是没大搞懂意义何在,但是,降到 8c 之后,查了下,端口就只剩下了 8 个,把服务器改成了 16c 之后又全都出现了。
本来以为是 worker_processes 参数的问题,但是经过测试,woker 确实根据设定的值来了,但是打开的端口还是跟 cpu 数量一致。
请教下,这个是由什么配置控制的?
================
刚好在群里问到了,说是 node.js 的进程数和 cpu 有关,是这个开不起来了,现在变成 node.js 的进程数和 cpu 数量的问题了。
再就是这种模式还有救么。。
