벤치마크 테스팅

벤치마크 테스팅은 애플리케이션 개발 주기 중 발생하는 일반 과정입니다. 애플리케이션 개발자와 데이터베이스 관리자(DBA)가 모두 참여하는 팀 작업입니다.

시스템에 대해 벤치마크 테스팅을 수행하여 현재 성능을 판별하고 애플리케이션 성능을 향상시키는 데 사용할 수 있습니다. 애플리케이션 코드가 비교적 효율적으로 기록된 경우 데이터베이스 및 데이터베이스 관리자 구성 매개변수를 튜닝하여 추가로 성능을 향상시킬 수 있습니다.

여러 가지 유형의 벤치마크 테스트를 사용하여 특정 유형의 정보를 찾습니다. 예를 들면, 다음과 같습니다.
  • 인프라스트럭처 벤치마크는 제한된 특정 연구 조건에서 데이터베이스 관리자의 처리량 성능을 판별합니다.
  • 애플리케이션 벤치마크는 프로덕션 환경을 보다 근접하게 반영한 조건에서 데이터베이스 관리자의 처리량 성능을 판별합니다.
구성 매개변수를 조정하기 위한 벤치마크 테스팅은 제어 조건을 기초로 합니다. 이와 같은 테스팅에는 애플리케이션이 가능한 한 효율적으로 실행될 때까지 시스템 구성(및 SQL)을 변경하면서 애플리케이션에서 SQL을 반복적으로 실행하는 작업이 포함됩니다.

동일한 접근 방법을 사용하여 성능에 영향을 주는 기타 요인(예: 인덱스, 테이블스페이스 구성 및 하드웨어 구성)을 조정할 수 있습니다.

벤치마크 테스트는 데이터베이스 관리자가 다른 조건에 응답하는 방식을 이해하는 데 도움이 됩니다. 교착 상태 처리, 유틸리티 성능, 여러 가지 데이터 로드 방법, 사용자 추가에 따른 트랜잭션 비율 특성 및 데이터베이스 제품의 새 릴리스 사용이 애플리케이션에 미치는 영향을 테스트하는 시나리오를 작성할 수 있습니다.

벤치마크 테스트는 반복 가능한 환경에 근거하므로 동일한 조건에서 동일한 테스트를 실행할 경우 발생하는 결과를 정당하게 비교할 수 있습니다. 정상적인 환경에서 테스트 애플리케이션을 실행하여 시작할 수 있습니다. 성능 문제점에 대해 자세하게 조사하면 테스트 중인 기능의 범위를 제한하는 특수 테스트 케이스를 개발할 수 있습니다. 특수 테스트 케이스는 중요한 정보를 얻기 위해 전체 애플리케이션을 에뮬레이트할 필요가 없습니다. 간단한 측정부터 시작하여 필요한 경우에만 복잡도를 높이십시오.

좋은 벤치마크의 특성은 다음과 같습니다.
  • 반복 가능한 테스트
  • 동일한 시스템 상태에서 각 테스트 반복이 시작됨
  • 시스템에서 기타 기능 또는 애플리케이션이 실수로 활성화되지 않음
  • 벤치마크 테스팅에 사용되는 하드웨어 및 소프트웨어가 프로덕션 환경과 일치함

시작된 애플리케이션은 유휴 상태인 경우에도 메모리를 사용한다는 점을 참고하십시오. 이로 인해 페이징이 벤치마크의 결과를 왜곡시킬 가능성이 증가하고 반복 가능성 기준을 위반합니다.