λ³Έ μ€νμ Node.jsμ worker_threadsκ° libuvμ μ컀 ν(Worker Pool)μ νμ©νλμ§ λΆμνλ λ° λͺ©μ μ΄ μμ΅λλ€.
10κ°μ μ½μ΄λ₯Ό κ°μ§ Mac M1 Pro νκ²½μμ Node.js 22.14.0 λ²μ μΌλ‘ μ§νλμμ΅λλ€.
μ컀 μ€λ λ μμ libuvμ μ컀 νμ ν¬κΈ°λ₯Ό μλμ κ°μ΄ λ³κ²½νλ©΄μ loop μ°μ°, crypto μ°μ°, νμΌ μμ€ν I/O μμ μ μ²λ¦¬ μλλ₯Ό λΉκ΅ν©λλ€.
| μ컀 μ€λ λ μ | libuv ν ν¬κΈ° | |
|---|---|---|
| μ컀 μ€λ λ μ λ³κ²½ | 1 ~ 7 (λ³μ) | 1 (κ³ μ ) |
| libuv μ컀 ν ν¬κΈ° λ³κ²½ | 1 (κ³ μ ) | 1 ~ 7 (λ³μ) |
κ° μ€ν μΌμ΄μ€λ³ μ 체 μμ μλ£κΉμ§μ μ²λ¦¬ μλλ₯Ό κΈ°λ‘νμμΌλ©°, 5νμ© μ§ν ν μ€μκ°μ μ¬μ©νμ΅λλ€.
μ€ν κ΄λ ¨ νμΌμ λ€μ κ²½λ‘μμ νμΈν μ μμ΅λλ€.
μ΄μ체μ μ€μΌμ€λ§, λ°±κ·ΈλΌμ΄λ νλ‘μΈμ€μ μμ μ μ λ±μΌλ‘ μΈν΄ κ²°κ³Όμ μ€μ°¨κ° λ°μν μ μμ΅λλ€. κ°λ³ μμΉμ κ° λ³΄λ€λ μκ΄κ΄κ³μ μ§μ€νμ¬ κ²°κ³Όμ λν ν΄μμ΄ νμν©λλ€.
loop μ°μ°μ μ컀 μ€λ λ μμ λΉλ‘νμ¬ μμ μκ°μ΄ λ¨μΆλ©λλ€.
crypto μ°μ°μ libuv μ컀 ν ν¬κΈ°μ λΉλ‘νμ¬ μμ μκ°μ΄ λ¨μΆλ©λλ€.
νμΌ I/O μμ μ libuv μ컀 ν ν¬κΈ°μ λΉλ‘νμ¬ μμ μκ°μ΄ λ¨μΆλ©λλ€.
loop μ°μ°μ μ컀 μ€λ λ μμλ§ μν₯μ λ°μΌλ©°, crypto μ°μ° λ° νμΌ I/Oλ μ컀 μ€λ λ μμ 무κ΄νκ² libuv μ컀 ν ν¬κΈ°μλ§ μν₯μ λ°μ΅λλ€.
λ³Έ μ€νμ ν΅ν΄ worker_threadsκ° μμ±νλ μ€λ λλ libuvμ μ컀 νκ³Ό λ³λ μ€λ λμμ μΆλ‘ ν μ μμΌλ©°, crypto λ° νμΌ I/O μμ μ libuvμ μ컀 νμ 곡μ νλ κ²μ νμΈν μ μμ΅λλ€.


