볼륨 테스트란 무엇입니까? 예제로 배우기

⚡ 스마트 요약

볼륨 테스트는 애플리케이션에 매우 많은 양의 데이터를 처리하게 하여 데이터베이스 규모가 커짐에 따라 저장 공간, 쿼리 및 응답 시간이 어떻게 변하는지 확인하는 테스트입니다. 이를 플러드 테스트라고도 하며, 사용자 수가 아닌 데이터 규모를 확장하는 방식입니다.

  • 💾 핵심 정의: 데이터 처리량이 증가하는 반면 사용자 부하는 정상적으로 유지됩니다.
  • 🔍 기본 확인 사항: 대규모 데이터 세트 환경에서의 데이터 손실, 무음 덮어쓰기, 저장 정확도 및 응답 시간.
  • 📈 분해점: 이 테스트는 안정성과 성능이 저하되기 시작하는 볼륨 값을 찾아냅니다.
  • ⚖️ 부하 테스트 안 함: 볼륨은 행 수와 파일 크기를 확장하고, 로드는 동시 사용자 수를 확장합니다. 이 두 가지는 서로 다른 결함을 찾아냅니다.
  • 🧪 데이터 현실주의: 생성된 데이터는 키와 관계형 무결성을 준수해야 하는데, 이것이 테스트에서 가장 어려운 부분입니다.
  • 💰 비즈니스 사례: 출시 전에 발견된 용량 제한은 실제 운영 중에 발견된 동일한 제한에 비해 훨씬 적은 비용으로 해결할 수 있습니다.

볼륨 테스트란 무엇인가요?

볼륨 테스트란 무엇입니까?

볼륨 테스트 소프트웨어에 엄청난 양의 데이터가 적용되는 일종의 소프트웨어 테스팅입니다. 라고도 합니다. 홍수 테스트. 볼륨 테스트는 데이터베이스의 데이터 볼륨을 늘려 시스템 성능을 분석하기 위해 수행됩니다.

볼륨 테스트를 사용하면 대량의 데이터에 노출되었을 때 응답 시간과 시스템 동작에 미치는 영향을 연구할 수 있습니다.

예를 들어, 음악 스트리밍 서비스는 50천만 곡의 음원 카탈로그로 테스트될 수 있습니다. tracks와 수십억 개의 행을 담고 있는 청취 기록 테이블을 사용하여 검색 및 추천 쿼리가 여전히 허용 가능한 시간 내에 응답하는지 확인합니다.

차이점을 유의하세요: 볼륨 테스트는 증가시킵니다. 데이터 양 시스템이 유지됩니다. 증가시키면 동시 사용자 수 부하 테스트는 목적이 다른 별도의 테스트입니다.

볼륨 테스트의 이점

  • 생산 능력 문제를 조기에 파악하면 생산 중에 문제를 해결하는 데 드는 훨씬 더 높은 비용을 피할 수 있습니다.
  • 확장성 계획을 더 빠르게 시작하는 데 도움이 됩니다.
  • 병목 현상의 조기 식별
  • 이제 귀하의 시스템이 실제 사용이 가능함을 보장합니다.

볼륨 테스트를 하는 이유는 무엇일까요?

볼륨 테스트를 수행하는 목적은 다음과 같습니다.

  • 데이터베이스의 데이터 양이 증가함에 따라 시스템 성능을 확인하십시오.
  • 데이터 세트의 규모가 커짐에 따라 발생할 가능성이 있는 문제점을 파악하십시오.
  • 시스템의 안정성이 저하되는 지점을 파악하기 위해
  • 볼륨 테스트는 시스템 또는 애플리케이션의 용량(정상 및 대용량)을 식별하는 데 도움이 됩니다.

볼륨 테스트 방법

볼륨 테스트에서는 다음과 같은 사항을 테스트해야 합니다.

  • 데이터 손실이 있는지 테스트해 보세요.
  • 시스템의 응답 시간을 확인하세요.
  • 데이터가 올바르게 저장되었는지 확인하세요.
  • 알림 없이 데이터를 덮어썼는지 확인하세요.
  • 볼륨 제한에 도달했을 때 경고 및 오류 메시지가 실제로 표시되는지 확인하십시오.
  • 대용량 데이터가 처리 속도에 영향을 미치는지 확인
  • 시스템에 해당 볼륨에 필요한 메모리 및 저장 공간이 있는지 확인하십시오.
  • 볼륨 테스트가 단일 구성 요소가 아닌 전체 시스템을 대상으로 하는지 확인하십시오.
  • 데이터 볼륨이 지정된 것보다 크면 위험이 있습니까?
  • 데이터 용량이 지정된 최대치를 초과하지 않을 것이라는 보장이 있는지 확인하십시오.

대용량 테스트를 위한 최고의 사례

아래의 몇 가지 방법은 부하 테스트와 공통적으로 적용되는데, 두 가지 모두 일반적으로 동일한 환경에서 실행되기 때문입니다. 볼륨 관련 방법은 데이터 세트 자체에 관한 것입니다.

  • 모든 서버를 중지하고 모든 로그를 확인하세요.
  • 부하 테스트 전에 애플리케이션 시나리오를 수동으로 실행합니다.
  • 가장 유용한 결과를 얻으려면 사용자 수에 시차를 두십시오.
  • 라이선스 제약을 극복하려면 인지 시간의 균형을 유지하세요.
  • 새로운 빌드에 주의하세요
  • 기준선이 설정되면 개선을 위한 사용 사례를 분석합니다.
  • 성능 병목 현상이 발생할 경우 볼륨 테스트의 특정 부분 반복이 불가피합니다.

용량 테스트 vs 부하 테스트

볼륨 테스트 부하 테스트
  • 대용량 테스트는 데이터베이스에 매우 많은 양의 데이터가 저장될 때 애플리케이션이 어떻게 동작하는지 확인하는 테스트입니다.
  • 로드 테스트 중에는 애플리케이션의 동작을 분석하기 위해 애플리케이션에 특정 수준의 로드가 적용됩니다.
  • 대용량 테스트는 시스템이 특정 데이터 용량에서도 올바르게 작동하는지 확인하는 과정입니다. 일반적으로 파일 및 테이블 크기를 늘려가며 테스트를 진행합니다.
  • 부하 테스트는 동시 사용자 수가 증가함에 따라 성능을 확인합니다. 일반적으로 동시 요청 수를 늘려가며 테스트를 진행합니다.

볼륨 테스트의 과제

  • 생성하기 어려운 메모리 조각화
  • 동적 키 생성
  • 관계형 Integrity 생성된 데이터의

이 테스트는 다른 성능 테스트와 어떻게 비교될까요?

성능 테스트는 적용되는 하중의 형태가 서로 다른 일련의 테스트이기 때문에 쉽게 혼동될 수 있습니다.

테스트 유형 증가된 것은 무엇입니까? 질문에 대한 답변
부하 테스트 동시 접속 사용자 수, 예상 최고치까지 일반적인 최대 트래픽 상황에서 목표치를 충족합니까?
볼륨 테스트 데이터베이스에 저장된 데이터 데이터 세트가 커짐에 따라 제대로 작동합니까?
스트레스 테스트 용량 초과 부하, 고장 발생 시 어디서, 그리고 어떻게 고장나는가?
스파이크 테스트 즉시 그리고 매우 빠르게 로드됩니다. 충격에서 살아남고 회복할 수 있을까요?
내구성 테스트 정상 부하에서의 지속 시간 시간이 지남에 따라 성능이 저하됩니까?
침수 테스트 시청 시간, 시청 자료 메모리 누수나 핸들 누수가 있습니까?
안정성 테스트 다양한 조건 환경 변화에도 신뢰성을 유지합니까?

여기서 가장 중요한 차이점은 다음과 같습니다. 볼륨 테스트는 데이터 규모를 확장하고, 로드 테스트는 사용자 규모를 확장합니다. 1만 행을 처리하는 데 2초가 걸리고 1천만 행을 처리하는 데 2분이 걸리는 보고서는 부하 문제가 아니라 처리량 문제이며, 서버 용량을 아무리 늘려도 해결되지 않습니다.

대용량 테스트를 위한 테스트 데이터 생성 방법

과제 섹션에서는 현실적인 데이터를 생성하는 것이 볼륨 테스트에서 가장 어려운 부분이라고 언급합니다. 실제로는 네 가지 접근 방식이 사용되며, 각 방식에는 장단점이 있습니다.

접근 실재론 주요 단점
생산 데이터 사본 최고 개인정보 및 규정 준수 노출
마스크 처리된 제작본 높음 마스킹은 참조 무결성을 손상시킬 수 있습니다.
합성 생성 중급 분포가 현실과 일치하지 않을 수 있습니다.
재생된 프로덕션 트래픽 높음 캡처 인프라가 필요합니다

어떤 방법을 선택하든 세 가지 조건이 충족되어야 하며, 그렇지 않으면 테스트는 아무런 유용한 결과를 측정하지 못합니다.

  • 참조적 무결성. 모든 외래 키는 반드시 해결되어야 합니다. 백만 개의 고아 행은 스토리지 엔진에 부하를 주지만, 애플리케이션이 실제로 사용하는 조인 경로에는 절대 부하를 주지 않습니다.
  • 현실적인 기수. 만약 운영 테이블에 200명의 고객에 걸쳐 1천만 개의 행이 있다면, 1천만 명의 고객에 걸쳐 1천만 개의 행을 생성하는 것은 완전히 다른 쿼리 실행 계획을 생성합니다.
  • 현실적인 유통. 실제 데이터는 편향되어 있습니다. 균일하게 무작위로 추출된 데이터는 운영 환경 장애를 일으키는 핫 파티션과 인덱스 경합을 숨깁니다.

개인정보 보호에 대한 실질적인 경고. 운영 환경의 데이터를 테스트 환경으로 복사하는 것이 테스트 중 데이터 유출의 가장 흔한 원인입니다. 복사본이 운영 환경을 벗어나기 전에 개인 정보 필드를 가려야 하며, 복사본이 운영 환경을 벗어난 후에 가리는 것은 바람직하지 않습니다.

자주 묻는 질문

볼륨 테스트는 사용자 부하를 정상적으로 유지하면서 시스템에 입력되는 데이터 양을 늘립니다. 부하 테스트는 데이터 세트는 정상적으로 유지하면서 동시 접속 사용자 수를 늘립니다. 두 테스트는 서로 다른 병목 현상을 드러내므로 모두 필요합니다.

일반적으로 2~3년의 성장 기간인 계획된 용량 범위 말기의 예상 데이터 볼륨부터 시작하여, 해당 수치와 그 두 배 수치에서 테스트를 진행하여 성능 저하가 시작되는 지점을 파악합니다.

누락되거나 비효율적인 인덱스, 비선형적으로 확장되는 쿼리, 저장 공간 부족, 필드의 무의미한 잘림, 실행 시간이 사용 가능한 작업 시간을 초과하는 배치 작업 등이 이러한 문제의 원인이 될 수 있습니다.

AI 모델은 생산 데이터의 통계적 분포와 관계를 학습한 다음, 실제 고객 기록을 노출하지 않고 해당 속성을 유지하는 합성 기록을 생성합니다.

네, 어느 정도는 그렇습니다. 측정된 성능 저하 곡선에 맞춰 설계된 모델은 고장 시점을 예측하지만, 용량 결정에 앞서 실제 가동을 통해 예측 결과를 확인해야 합니다.

이 게시물을 요약하면 다음과 같습니다.