首页 > node cpu 100% 问题

node cpu 100% 问题

最近在着手做公司的聊天室,先说说目前的架构.

  1. nginx 通过 ip_hash分配到不同的node端口

  2. 2台服务器用pm2 开启cluster模式启动8080-80034个端口监听,总共8个node实例运行

  3. node用express框架+socket.io完成

实际生产环境测试的时候,发现因为使用nginx的ip_hash其实分配到每个node的实例都不均匀,大概只有2w个socket.io的连接.(补充一下为什么使用nginx的ip_hash是因为socket.io的socket连续必须保持一个连接一直连着某个进程的作用.)

通过pm2-web查看每个node的压力8个进程里面6个进程的cpu压力都是10%+,但有某1-2个进程就会100%满载.然后但个node进程的内存不断上升到了1G+左右就自动重启了.

本人刚接触node不太了解优化方案.万望大神们支下招.谢谢


用headump检测一下node进程有没内存泄漏的问题


大概有了解决办法了.
nginx不能用ip_hash.需要自己手动编译nginx sticky 模块然后加上pm2的多进程管理..现在测试用的机器两台3个node进程测试能顶多少人

【热门文章】
【热门文章】