본문으로 건너뛰기
← 가이드 목록

싱글코어? 멀티코어? 내 프로그램에 맞는 CPU

"코어가 많은 서버가 좋을까, 코어 하나가 빠른 서버가 좋을까?" 답은 돌릴 프로그램이 코어를 어떻게 쓰는지에 달려 있습니다. 직접 확인하는 방법까지 정리했습니다.

코어, 스레드, vCPU

  • 코어 — CPU 안에서 실제로 계산하는 일꾼입니다. 코어가 4개면 4가지 일을 동시에 처리할 수 있습니다.
  • 스레드(논리 프로세서) — 코어 하나가 일을 두 갈래로 받는 기술(SMT, 하이퍼스레딩)을 쓰는 CPU는 코어 수의 두 배만큼 스레드가 보입니다. 다만 성능이 두 배가 되는 것은 아닙니다.
  • vCPU — VPS에 배정된 가상 CPU입니다. 서버 안에서는 nproc 명령이나 작업 관리자에 이 개수만큼 보입니다.

프로그램이 일을 나눠야 여러 코어를 씁니다

프로그램이 일을 여러 갈래(스레드나 프로세스)로 나눠서 처리해야 여러 코어가 함께 일합니다. 한 줄기로만 일하는 프로그램은 코어가 아무리 많아도 코어 하나만 바쁘고 나머지는 놀게 됩니다. 이런 프로그램은 코어 수보다 코어 하나의 성능(CPU 세대·클럭)이 속도를 좌우합니다.

프로그램코어를 쓰는 방식중요한 것
마인크래프트 자바 서버게임 진행(틱)은 주로 한 스레드에서 처리합니다. 청크 불러오기, 메모리 정리(GC) 같은 일부 작업은 다른 코어도 씁니다.코어 하나의 성능
디스코드 봇 (Node.js·Python)봇 하나는 대부분 코어 하나로 동작하고, 보통 CPU를 많이 쓰지 않습니다.메모리, 꺼지지 않게 실행하기
웹 서버 (Nginx)접속을 여러 작업 프로세스로 나눠 처리합니다.접속이 많을 때 코어 수
데이터베이스 (MariaDB 등)동시에 들어오는 여러 요청을 여러 코어로 처리합니다. 요청 하나는 보통 코어 하나에서 처리됩니다.코어 수와 코어 성능, 메모리·디스크
압축·영상 변환·코드 빌드작업을 나눠 여러 코어를 동시에 씁니다. (도구와 옵션에 따라 다름)코어 수
여러 프로그램을 한 서버에서프로그램마다 다른 코어를 씁니다.코어 수

Node.js와 Python은 이렇게 동작합니다

  • Node.js — 자바스크립트 코드는 기본적으로 프로세스 하나당 한 스레드에서 실행됩니다. 웹 서버라면 pm2의 클러스터 모드(pm2 start app.js -i max)로 코어 수만큼 띄워 여러 코어를 쓸 수 있습니다. 디스코드 봇은 이렇게 여러 개 띄우면 같은 봇이 겹쳐 실행되어 명령에 두 번 반응하거나 오류가 나니 하나만 실행하세요.
  • Python — 보통 설치하는 파이썬(CPython)은 GIL 때문에 프로세스 하나에서 파이썬 코드가 한 번에 코어 하나로만 실행됩니다. 무거운 계산을 여러 코어로 나누려면 multiprocessing처럼 프로세스를 여러 개 써야 합니다.

내 서버에서 직접 확인하기

프로그램을 평소처럼 돌려둔 상태에서, 가장 바쁠 때 확인하는 것이 정확합니다.

Linux

sudo apt install -y htop
htop

맨 위에 번호가 붙은 막대가 코어별 사용률입니다.

  • 막대 하나만 꽉 차고 나머지는 한가하다 → 코어 하나의 성능이 중요한 프로그램입니다. 코어를 늘려도 빨라지지 않습니다.
  • 모든 막대가 고르게 꽉 찬다 → 코어 수가 부족합니다. vCPU가 많은 플랜이 도움이 됩니다.
  • 막대는 한가한데 느리다 → CPU가 아니라 메모리·디스크·네트워크 문제일 수 있습니다. 서버가 느릴 때 점검하기를 참고하세요.

top을 쓴다면 실행 중에 1을 누르면 코어별로 보입니다. 프로그램의 %CPU가 100%면 코어 하나를 꽉 채운 것이고, 200%면 코어 두 개만큼 쓰고 있는 것입니다.

Windows

  1. 작업 관리자(Ctrl + Shift + Esc) → 성능 탭 → CPU를 엽니다.
  2. 그래프 위에서 마우스 오른쪽 버튼 메뉴를 열고 논리 프로세서로 바꾸면 코어별 그래프가 보입니다.

프로세스 탭의 CPU 사용률은 서버 전체 CPU를 100%로 놓고 계산합니다. 예를 들어 4코어 서버에서 어떤 프로그램이 25% 근처에서 더 오르지 않는다면, 코어 하나를 꽉 채우고 있을 가능성이 큽니다.

그래서 무엇을 고르면 될까요?

  • 코어 하나만 바쁜 프로그램 → 코어 수보다 CPU 종류가 중요합니다. 요금제에는 시리즈마다 CPU 이름이 적혀 있으니 비교해보세요.
  • 모든 코어가 바쁜 프로그램, 여러 프로그램을 함께 돌리는 경우 → vCPU가 많은 플랜을 고르세요.
  • 오랫동안 CPU를 꾸준히 많이 쓴다면 → 단독서버도 비교해보세요. (VPS와 단독서버의 차이)
  • 숫자로 비교하고 싶다면 → 서버 성능 측정하기에서 코어 하나와 전체 코어 성능을 각각 재는 방법을 안내합니다.

이용 중인 서버의 사양은 바꿀 수 없으니, 다른 플랜이 필요하면 새 서버를 받아 옮겨주세요.

해결되지 않는 문제가 있다면 고객센터로 문의해주세요.