본문 바로가기
Q&A2025년 3월 3일1분 읽기

PM2 cluster 모드로 Node.js 성능 올리기

노
노하은
조회 599댓글 3

PM2 cluster 모드로 Node.js 성능을 올리는 방법을 알려주세요.

댓글 3

김김영삼1년 전

PM2 클러스터 모드:

# CPU 코어 수만큼 프로세스 생성
pm2 start app.js -i max

# 특정 개수
pm2 start app.js -i 4

# ecosystem.config.js
module.exports = {
apps: [{
name: "api",
script: "server.js",
instances: "max",
exec_mode: "cluster",
env: { NODE_ENV: "production" }
}]
}
pm2 start ecosystem.config.js

Node.js는 싱글 스레드이므로 클러스터 모드로 멀티코어를 활용해야 합니다. 4코어 서버면 성능이 ~4배 향상됩니다.

노노하은(guest)1년 전
클러스터 모드에서 세션이나 소켓 연결은 어떻게 되나요?
김김영삼1년 전

프로세스 간 메모리가 공유되지 않으므로 주의:

  • 세션 — 메모리 세션 대신 Redis 세션 스토어 사용
  • WebSocket — Socket.io + Redis Adapter로 프로세스 간 이벤트 전파
  • 캐시 — 프로세스 내 캐시 대신 Redis

Stateless하게 설계하면 클러스터 모드에서 문제가 없습니다.

Ctrl+Enter로 등록