π Reference
π Chapter
Settings
Multi process
PM2
- PM2λ Node.js μ΄ν리μΌμ΄μ
μ μ½κ² κ΄λ¦¬ν μ μκ² ν΄μ£Όλ Process Managerμ΄λ€.
- Node.js μ΄ν리μΌμ΄μ
μ cluster mode λ‘ μ€νμν¨λ€κ±°λ, λ©λͺ¨λ¦¬κ° λμΉλ€κ±°λ, μ€λ₯λ‘ μΈν΄ νλ‘μΈμ€κ° μ’
λ£λλ λ±μ μν©μ μ§λ©΄νμ λ κ°κ°μ μν©μ μ¬μ©μκ° λͺ¨λ μ κ²½ μ¨μ μ²λ¦¬ν΄μ€ μλ μμ§λ§, λ무 볡μ‘νκ³ μ κ²½ μ¨μΌ ν μΌλ€μ΄ λ§μμ§λ€.
- PM2λ₯Ό μ΄μ©νλ©΄ κ°λ¨ν μ€μ λ§μΌλ‘λ μ΄λ¬ν μ²λ¦¬λ₯Ό μμ½κ² ν΄κ²°ν μ μλ€.
PM2 - cluster mode
- PM2μ cluster λͺ¨λλ Node.jsμΒ cluster moduleμ μ΄μ©ν΄ κΈ°λ³Έμ μΌλ‘ μ±κΈ μ€λ λμΈ Node.jsλ₯Ό λ©ν° μ€λ λλ‘ κ΅¬λ μμΌμ€λ€.
- μ±κΈ μ€λ λμ κ²½μ° κ΅¬λ μ€μΈ μλ²μ CPU κ°μμ μκ΄μμ΄ 1κ°λ§ μ¬μ©ν μ μκΈ°μ μλ²μ μ±λ₯μ μ λλ‘ λμ΄λ΄μ§ λͺ»νλ€.
- λ°λ©΄, λ©ν° μ€λ λλ μ΅λ μλ² CPU μλ§νΌ(νμ΄νΌμ€λ λ©μ μ§μνλ€λ©΄ x2) νλ‘μΈμ€λ₯Ό μμ±ν΄ μ΅λ μ±λ₯μ λμ΄λΌ μ μλ€.
- PM2μμ cluster modeλ₯Ό μ¬μ©νκΈ° μν΄μλ λ€μκ³Ό κ°μ΄ μ€μ ν΄μ£Όλ©΄ λλ€.
// ecosystem.config.js
module.exports = {
apps : [{
script : "app.js",
instances : "max", // μ€νμν¬ νλ‘μΈμ€μ κ°―μ(maxλ‘ μ
λ ₯ν κ²½μ° μ΅λ κ°―μλ‘ μ€μ νλ€.)
exec_mode : "cluster" // cluster λͺ¨λλ‘ μ΄ν리μΌμ΄μ
μ ꡬλμν¨λ€.
}]
}
PM2 - start