2017-06-06 106 views
1

我有4个ec2实例在AWS上运行。 PM2在所有实例上都以群集模式运行。当我得到5K +并发请求时,应用的响应时间显着增加。PM2 NodeJs集群模式

所有的请求获取redis密钥,一次正常的获取需要10秒钟,没有太多的并发请求只需要50ms。这里可能会出现什么问题?

回答

0

我们需要找出瓶颈。让我们来做一些诊断:

  1. EC2实例多核可以利用PM2的集群吗?

  2. 当您执行pm2 start app.js -i X时,您确定X = EC2实例的number_of_vCPU吗?

  3. 当您执行pm2 monit时,您是否看到群集的所有实例共享相同的CPU和内存使用情况?

  4. 当你运行htop你的总CPU和内存使用率是多少%?

  5. 当您执行iftop与您的机器可用的最大值相比,您的RX和TX流量总计是多少?

+0

1)是的。它的多核心。带有16个vCPU的c4.8x.large 2)是。 3)是的。所有份额相等4)CPU使用率在0到50之间变化。平均24%左右5)RX峰值 - 185,TX峰值 - 181.总峰值 - 170. RX CUM - 189,TX CUM - 815,总CUM - 1.5 GB –

+0

刚才看到,一些pm2进程的CPU使用率增加到100%一秒,然后减少到24 –

+0

我在CentOS上运行ec2 –