본문 바로가기
코어-테크 : 트러블 슈팅 노트

MariaDB는 정말 빠를까? 홈서버에서 데이터베이스 성능 직접 확인하기

by 크리에이터 독타 (Creator Dokta) 2026. 6. 20.

 

 

※ 이 글은 운영자가 직접 홈서버를 운영하며 겪은 경험과 MariaDB, Docker 공식 문서를 참고해 작성했습니다. 글의 문장 정리와 구성에는 AI 도구의 도움을 약간 받았지만, 최종적으로는 운영자가 직접 내용을 검토하고 확인했습니다.

MariaDB는 정말 빠를까? 홈서버에서 데이터베이스 성능 직접 확인하기

도입

이번 주에는 WordPress와 MariaDB가 어떻게 연결되는지 계속 살펴봤습니다. 데이터베이스가 어디에 쓰이는지 확인했고, WordPress가 왜 데이터베이스를 필요로 하는지도 정리했습니다. Docker로 WordPress를 설치하고, 기본 설정과 PHP 성능 최적화까지 이어왔습니다.

그런데 여기서 한 가지 궁금증이 생겼습니다. WordPress가 빨라졌다는 느낌은 어떻게 확인할 수 있을까요? 관리자 화면이 조금 가벼워진 것 같고, 글이 잘 열리는 것처럼 보여도 그것만으로는 정확히 알기 어렵습니다.

홈서버를 운영하다 보면 결국 숫자를 봐야 할 때가 옵니다. MariaDB가 얼마나 오래 실행되고 있는지, 쿼리가 얼마나 처리되었는지, 연결은 몇 개나 유지되고 있는지, 느린 쿼리는 생기고 있는지 같은 항목들이죠.

이번 글에서는 MariaDB의 성능을 어렵게 벤치마크하는 것이 아니라, 홈서버 운영자가 먼저 확인해볼 수 있는 기본 상태값을 살펴보려고 합니다. 빠르다, 느리다를 감으로만 판단하지 않고 숫자와 로그로 확인하는 연습입니다.

Intel N100 홈서버에서 MariaDB 데이터베이스 성능을 확인하는 방법을 정리한 인포그래픽. Uptime, Questions, Threads_connected, Slow_queries, mysqladmin status, SHOW STATUS 명령으로 WordPress와 MariaDB의 성능을 점검하는 구조를 설명한다.
Intel N100 홈서버에서 MariaDB의 상태값(Uptime, Questions, Slow Queries 등)을 확인하고 WordPress 데이터베이스 성능을 점검하는 기본 흐름입니다.

※ 다이어그램은 운영 환경 설계를 바탕으로 AI 도구를 활용해 제작했으며, 최종 구성과 내용은 운영자가 직접 검수했습니다.
출처: 디지털 장난감

본문

① 데이터베이스 성능은 무엇으로 볼 수 있을까?

데이터베이스 성능이라고 하면 조금 어렵게 느껴집니다. TPS, QPS, 인덱스, 버퍼 풀, 캐시 히트율 같은 말이 나오기 시작하면 처음부터 부담스러워질 수 있습니다.

하지만 홈서버에서 WordPress를 운영하는 단계라면 처음부터 복잡한 지표를 모두 볼 필요는 없다고 생각했습니다. 먼저 MariaDB가 정상적으로 실행 중인지, 연결이 유지되는지, 쿼리가 처리되고 있는지, 느린 쿼리가 늘어나고 있는지만 확인해도 충분히 의미가 있습니다.

확인 항목 의미 운영 판단
Uptime MariaDB가 실행된 시간 재시작 여부와 안정성 확인
Questions 처리된 쿼리 수 DB가 실제로 사용되고 있는지 확인
Threads_connected 현재 연결된 세션 수 연결 과다 여부 확인
Slow_queries 느리게 처리된 쿼리 수 성능 문제의 초기 신호 확인
Connections 누적 연결 수 서비스 사용량 흐름 확인

이런 값들은 하나하나만 보면 큰 의미가 없어 보일 수 있습니다. 하지만 시간이 지나면서 변화를 비교하면 홈서버가 어떤 상태인지 조금씩 보이기 시작합니다.

② 컨테이너 상태부터 확인하기

Docker로 MariaDB를 운영하고 있다면 가장 먼저 확인할 것은 컨테이너 상태입니다. 데이터베이스 설정을 보기 전에 컨테이너가 정상적으로 살아 있는지부터 확인해야 합니다.

docker compose ps

여기서 MariaDB 컨테이너가 Up 상태라면 일단 실행은 되고 있는 것입니다. 하지만 실행 중이라는 것과 안정적으로 동작한다는 것은 조금 다릅니다. 그래서 다음으로는 리소스 사용량도 함께 확인해볼 수 있습니다.

docker stats

이 명령어를 사용하면 컨테이너별 CPU, 메모리 사용량을 볼 수 있습니다. MariaDB가 갑자기 CPU를 많이 사용하거나, 메모리가 계속 증가한다면 로그와 쿼리 상태를 함께 확인해볼 필요가 있습니다.

③ mysqladmin status로 간단히 보기

MariaDB 상태를 빠르게 확인할 때는 mysqladmin status 명령을 사용할 수 있습니다. 컨테이너 내부에서 실행하거나, 접속 정보를 넣어 외부에서 실행할 수 있습니다.

docker exec -it mariadb mysqladmin status -u root -p

실행하면 Uptime, Threads, Questions, Slow queries 같은 값이 한 줄로 표시됩니다. 처음에는 숫자가 너무 간단해서 별 의미가 없어 보였지만, 이 값들이 MariaDB의 현재 상태를 빠르게 보여주는 기본 신호였습니다.

Uptime: 86400  Threads: 2  Questions: 18452  Slow queries: 0  Opens: 120  Flush tables: 1  Open tables: 64  Queries per second avg: 0.213

예를 들어 Uptime이 길게 유지되고 있고, Slow queries가 계속 0에 가깝다면 일단 큰 문제 없이 동작하고 있다고 볼 수 있습니다. 반대로 Slow queries가 계속 늘어난다면 어떤 쿼리가 느린지 살펴봐야 합니다.

④ SHOW STATUS는 무엇을 보여줄까?

SHOW STATUS는 MariaDB 내부 상태값을 조금 더 자세히 보여줍니다. 항목이 많기 때문에 처음부터 모두 볼 필요는 없습니다. 먼저 자주 확인할 값만 골라보면 됩니다.

SHOW GLOBAL STATUS LIKE 'Questions';
SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW GLOBAL STATUS LIKE 'Uptime';
SHOW GLOBAL STATUS LIKE 'Slow_queries';
SHOW GLOBAL STATUS LIKE 'Connections';

WordPress를 운영할 때는 접속자가 많지 않아도 데이터베이스 쿼리는 계속 발생합니다. 관리자 화면을 열거나, 글 목록을 보거나, 플러그인이 설정값을 읽을 때도 MariaDB와 통신합니다.

상태값 쉽게 이해하면 확인 포인트
Questions 처리한 질문 수 DB 사용량 증가 흐름
Threads_connected 현재 접속 중인 연결 수 연결이 과도하게 늘어나는지 확인
Uptime 계속 켜져 있던 시간 비정상 재시작 여부 확인
Slow_queries 느리게 처리된 쿼리 수 성능 문제의 힌트
Connections 누적 연결 횟수 서비스 접근 흐름

이 값들은 한 번만 보고 끝내기보다, 하루 단위나 일주일 단위로 기록해두면 더 의미가 생깁니다. 숫자는 비교할 때 힘이 생기기 때문입니다.

⑤ WordPress 글 하나가 열릴 때 뒤에서는 무슨 일이 일어날까?

방문자가 WordPress 글 하나를 열면 화면에는 글과 이미지가 보입니다. 하지만 뒤에서는 여러 단계가 지나갑니다.

방문자 요청
↓
웹서버
↓
PHP 실행
↓
WordPress 로딩
↓
MariaDB에서 글과 설정 조회
↓
테마와 플러그인 적용
↓
HTML 생성
↓
브라우저 표시

이 과정에서 MariaDB는 글 내용, 카테고리, 태그, 댓글, 설정값 등을 읽어오는 역할을 합니다. 그래서 데이터베이스 응답이 느려지면 WordPress 전체가 무겁게 느껴질 수 있습니다.

물론 WordPress 속도는 MariaDB만으로 결정되지 않습니다. PHP 설정, 이미지 용량, 캐시, 플러그인, 테마도 함께 영향을 줍니다. 하지만 MariaDB 상태를 보는 습관은 WordPress 운영에서 중요한 출발점이 될 수 있습니다.

⑥ 느린 쿼리는 왜 위험 신호일까?

느린 쿼리는 말 그대로 처리 시간이 오래 걸린 쿼리입니다. 한두 번 발생했다고 바로 큰 문제라고 볼 수는 없지만, 시간이 지날수록 계속 늘어난다면 원인을 찾아야 합니다.

예를 들어 특정 플러그인이 비효율적인 조회를 반복하거나, 데이터가 많이 쌓였는데 인덱스가 적절하지 않거나, 서버 리소스가 부족한 경우 느린 쿼리가 증가할 수 있습니다.

  • 느린 쿼리가 늘어나는지 주기적으로 확인합니다.
  • 특정 플러그인 설치 후 변화가 있는지 비교합니다.
  • CPU와 메모리 사용량도 함께 확인합니다.
  • 필요하다면 slow query log를 활성화해 원인을 추적합니다.

중요한 것은 느린 쿼리를 무조건 두려워하는 것이 아니라, 변화가 생겼을 때 알아차릴 수 있는 기준을 만드는 일이었습니다.

운영노트

아래 표는 MariaDB 성능 상태를 확인할 때 기록해볼 수 있는 기본 운영 로그입니다. 실제 수치는 서버 환경, 접속량, WordPress 플러그인 구성에 따라 달라질 수 있습니다.

확인 항목 예시 값 운영 판단
Uptime 48시간 이상 비정상 재시작 여부 확인
Questions 18,452 WordPress 사용량 흐름 확인
Threads_connected 2~5 연결 수가 과도하지 않은지 확인
Slow_queries 0 성능 문제 신호 여부 확인
CPU 사용량 낮음 쿼리 처리 부담 확인
메모리 사용량 안정적 컨테이너 리소스 상태 확인

에디터의 해석노트

WordPress를 설치하고 설정하는 과정에서는 화면이 잘 열리는지가 가장 먼저 보였습니다. 하지만 운영을 생각하면 화면보다 먼저 확인해야 할 것이 로그와 숫자라는 생각이 들었습니다.

MariaDB의 상태값을 살펴보니 데이터베이스가 막연한 저장소가 아니라 계속 움직이는 서비스처럼 느껴졌습니다. 쿼리가 처리되고, 연결이 생기고, 시간이 누적되고, 느린 쿼리가 기록되는 과정이 모두 운영의 흔적이었습니다.

앞으로 홈서버에서 문제가 생기면 감으로 판단하기보다 먼저 상태값과 로그를 확인하는 습관을 들여보려고 합니다. 잘 되는 것 같다는 느낌보다, 숫자가 무엇을 말하고 있는지가 더 중요한 순간이 있기 때문입니다.

참고 링크 (References)

트러블슈팅

문제: WordPress가 느리게 느껴지거나 MariaDB의 Slow_queries 값이 증가함

WordPress 페이지가 느리게 열리거나 관리자 화면 반응이 둔해졌다면 MariaDB 상태값을 함께 확인해볼 필요가 있습니다. 특히 Slow_queries가 계속 증가한다면 쿼리 처리 시간이 길어지고 있다는 신호일 수 있습니다.

확인: 컨테이너 상태, CPU와 메모리, MariaDB 상태값, slow query log를 순서대로 점검

# 컨테이너 상태 확인
docker compose ps

# 컨테이너 리소스 사용량 확인
docker stats

# MariaDB 상태 확인
docker exec -it mariadb mysqladmin status -u root -p

# MariaDB 로그 확인
docker compose logs mariadb --tail=100

원인: 비효율적인 쿼리, 플러그인 과다, 인덱스 부족, 메모리 부족, CPU 사용량 증가, MariaDB 설정 문제

해결: 느린 쿼리 증가 시점을 확인하고, 최근 설치한 플러그인이나 테마 변경 사항을 점검합니다. 필요하다면 slow query log를 활성화해 어떤 쿼리가 느린지 확인합니다.

  • Slow_queries 증가: slow query log 활성화 여부를 확인합니다.
  • CPU 사용량 증가: Docker stats로 MariaDB 컨테이너 상태를 확인합니다.
  • 연결 수 증가: Threads_connected 값을 확인합니다.
  • 갑작스러운 재시작: Uptime 값과 컨테이너 로그를 확인합니다.
  • 관리자 화면 느림: WordPress 플러그인과 DB 상태를 함께 확인합니다.

이번 단계에서는 성능을 극단적으로 끌어올리기보다, 현재 상태를 읽는 방법을 익히는 것이 더 중요했습니다. 숫자를 읽을 수 있어야 다음 최적화도 방향을 잡을 수 있기 때문입니다.

마무리

MariaDB 성능을 직접 확인해보면서, 데이터베이스는 단순히 글을 저장하는 공간이 아니라 계속 움직이고 있는 서비스라는 점을 다시 느꼈습니다. WordPress 뒤에서는 쿼리가 실행되고, 연결이 생기고, 상태값이 쌓이고 있었습니다.

이번 글에서는 복잡한 벤치마크보다는 홈서버 운영자가 먼저 볼 수 있는 기본 지표를 중심으로 살펴봤습니다. Uptime, Questions, Threads_connected, Slow_queries 같은 값만 알아도 MariaDB가 어떤 상태인지 조금은 판단할 수 있었습니다.

다음 글에서는 이번 주에 살펴본 데이터베이스와 WordPress 운영 흐름을 정리하면서, MariaDB를 이해한 한 주를 되돌아보겠습니다.