1. QPS와 TPS란?
- 데이터베이스 성능 테스트, 모니터링, 실제 비즈니스 데이터베이스 부하를 이해할 때 가장 중요한 두 가지 성능 지표가 있습니다.
- 바로 QPS(Queries Per Second)와 TPS(Transactions Per Second)입니다.
- QPS: 초당 처리되는 쿼리 수를 의미합니다
- TPS: 초당 처리되는 트랜잭션 수를 의미합 니다
정보
이 두 지표는 데이터베이스의 처리 능력과 현재 부하 상태를 파악하는 핵심 메트릭으로, 올바른 계산 방법을 알고 있어야 정확한 성능 분석이 가능합니다.
2. QPS 계산 방법
2.1 QPS 정의와 혼란
- QPS는 "Queries-per-second"의 줄임말로 초당 쿼리 처리율을 의미합니다.
- 하지만 실제로는 계산 방법에 대해 여러 가지 해석이 존재합니다.
- 여러 가지 해석이 존재하는 이유는 QPS의 Q(Query)가 무엇을 의미하는지에 대한 혼란 때문입니다.
- 이번 글에서는 QPS의 Q(Query)가 무엇을 의미하는지에 대한 명확한 정의와 계산 방법을 알아보겠습니다.
2.2 QPS 계산 방법 비교
- MySQL를 예시로 QPS를 계산하는 방법에 대해서 세 가지 방법을 소개합니다.
2.2.1 방법 1: DQL(Select)만 계산
- QPS의 Q(Query)를 "쿼리"로 이해하고, 이를 DQL(Data Query Language)로 해석하여 SELECT 문만을 대상으로 하는 방법입니다.
- 읽기 작업만 측정되며, 쓰기 작업이 없으면 QPS가 0이 되는 비합리적인 결과를 초래할 수 있습니다.
- 이 방법은 QPS의 정의를 너무 제한적으로 해석한 잘못된 방법입니다.
- 실제 운영 환경에서는 사용하지 않는 것이 좋습니다.
정보
DQL(Data Query Language)은 데이터베이스에서 데이터를 조회하는 데 사용되는 SQL 명령어로, SELECT문이 있습니다. SQL은 용도에 따라 DQL(조회), DDL(구조정의), DML(데이터조작), DCL(권한관리)로 분류됩니다.