spark마인크래프트 서버와 클라이언트의 성능을 측정하는 프로파일러이다. 어떤 작업이 시간을 쓰는지, 메모리를 무엇이 차지하는지, 가비지 컬렉션이 얼마나 자주 일어나는지를 확인할 수 있다.[1]

spark
최신 버전 spark.lucko.me 참고
지원 MC Paper 1.21 이상에 내장. 그 외에는 별도 설치
Java 서버 코어와 동일
서버 코어 Paper, Purpur, Spigot, Fabric, Forge 계열
선행 플러그인 없음
확인일 2026-08-06

Paper는 1.21부터 spark를 내장하고 있어 별도 설치 없이 /spark 명령을 사용할 수 있다. 서버가 느려졌을 때 원인을 추측하지 않고 확인하는 거의 유일한 수단이므로, 설정을 바꾸기 전에 먼저 측정하는 것이 원칙이다.

주요 명령

명령 용도
/spark tps TPS와 CPU 사용률 확인
/spark health TPS·CPU·메모리·디스크를 한 번에 보는 상태 보고서
/spark profiler start 프로파일링 시작
/spark profiler stop 측정 종료 후 결과 링크 출력
/spark tickmonitor 기준 시간을 넘는 틱을 감시
/spark gc 가비지 컬렉션 이력 확인
/spark heapsummary 힙 메모리를 차지하는 객체 종류 요약
/spark ping 이용자 지연 시간 확인

권한 노드는 spark 또는 기능별로 spark.profiler, spark.tps, spark.healthreport 등이 있다.[1]

프로파일링 절차

  1. 문제가 재현되는 시간대에 /spark profiler start를 실행한다.
  2. 증상이 나타나는 동안 측정을 유지한다. 짧게 끝내면 원인 구간이 잡히지 않는다.
  3. /spark profiler stop으로 결과 링크를 받는다.
  4. 웹 뷰어에서 호출 트리를 펼쳐 시간을 많이 쓰는 항목을 찾는다.

--timeout 옵션으로 측정 시간을 미리 지정할 수 있고, --alloc을 붙이면 메모리 할당을 기준으로 측정한다.

결과 해석

  • 플러그인 패키지 이름이 상위에 보이면 그 플러그인을 우선 검토한다.
  • 게임 자체의 청크·엔티티 관련 항목이 크면 설정 조정이 필요하다.
  • GC 항목이 크면 가비지 컬렉터 설정을 검토한다. /spark gc로 이력을 함께 본다.
  • 전체적으로 고르게 분산되어 있으면 단일 원인이 아니라 하드웨어 한계일 수 있다.

측정값이 정상인데 이용자가 지연을 느낀다면 서버 성능이 아니라 네트워크 문제일 수 있다. ReadTimeoutException 문서를 참고한다.

같이 보기

각주

  1. 1.0 1.1 Command Usage, spark. 2026년 8월 6일 확인.

외부 링크