노드의 cluster 모듈처럼 클러스터링을 가능하게 하는 pm2의 클러스터링 모드를 사용해봅시다.
package.json
{
"name": "nodebird",
"version": "0.0.1",
"description": "익스프레스로 만드는 SNS 서비스",
"main": "server.js",
"scripts": {
"start": "cross-env NODE_ENV=production PORT=80 pm2 start server.js -i 0",
"dev": "nodemon server",
"test": "jest"
},
...
pm2 start app.js 대신에 pm2 start app.js -i 0 명령어를 사용합니다. 취향에 따라 pm2 start app.js -i -1도 많이 사용합니다. -i 뒤에 생성하길 원하는 프로세스 개수를 기입하면 됩니다. 0은 현재 CPU 코어 개수만큼 프로세스를 생성한다는 뜻이고, -1은 프로세스를 CPU 코어 개수보다 한 개 덜 생성하겠다는 뜻입니다. 남은 코어 하나는 노드 외의 다른 작업을 할 수 있게 하는 것입니다. 예제에서는 -i 0을 사용합니다.