高并发Nodejs参数调整


高并发Nodejs参数调整

  • 关闭v8 空时通知机制
1
--nouse-idle-notification
  • 修改http.Agent

为了http请求能复用connection连接,Nodejs在http.Agent创建了一个默认大小为5的连接池)

修改后如下:

1
require("http").globalAgent.maxSockets = Infinity;
  • 修改–max-old-space-size
1
2
--max-old-space-size=2048(根据自己情况,可以调大,单位是M)
说明:v8 在64位操作系统默认使用的max-old-space-size是1.7G,大家可以通过:node --v8-options 查看V8参数
  • 使用PM2管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

{
"apps" : [
{
"name": "comet-server-4000",
"script": "server.js",
"port": 4000,
"args": "['-p4000','-t','plan']",
"run-as-group" : "comet",
"exec_mode": "cluster_mode",
"node-args": "--nouse-idle-notification --gc_global --max-old-space-size=2048 --max-new-space-size=1024"
},
{
"name": "comet-server-4001",
"script": "server.js",
"port": 4001,
"run-as-group": "comet",
"args": "['-p4001','-t','plan']",
"exec_mode": "cluster_mode",
"node-args": "--nouse-idle-notification --gc_global --max-old-space-size=2048 --max-new-space-size=10240"
}
]