벤치마크의 성격
  • 1. 아이디어 및 접근법의 테스트목적의 벤치마크
  • 2. 에플리케이션이 실제동작하는지 테스트목적의 벤치마크
  • 3. 시스템이 가지고 있는 규격을 지속적으로 점검하기 위한 체크리스트 메트릭스


소규모 벤치마크

  • 목적 : 두개이상의 접근방법 또는 테크닉이 우수하고 열등한지 양적으로 비교
  • 권장 : 모든 개발자는 DBA에게 부탁하지 않고도 아이디어를 테스트할 수 있도록 완전히 통제할 수 있는 독자적 테스트 데이터베이스를 가지는 것이 좋다.


간단한 테스트도구를 사용하라

RunStats (setup script)수행(경과)시간, 파스 호출, 레칭을 측정한다.
TKPROF, TIMED_STATISTICS, SQL_TRACEtrace는 가장 정확한 분석방법.
DBMS_PROFILER정밀한 pl/sql튜닝용
Expain_plan쿼리가 무엇을 할 것인지 볼 수 있음
Autotrace쿼리가 이미 수행한 것들을 볼 수 있음


대규모 벤치마크

  • 전체적인 확장성을 고려하여 시스템의 가용성에 대한 실질적인 시뮬레이션을 의미한다.


전체를 대표할 수 있는 양의 데이터로 테스트하라

  • 테이트 데이터를 현실적으로 만들어야 한다는 의미


실질적인 입력으로 테스트하라

  • 벤치마킹에 영향을 줄 수 있는 많은 요소를 충분히 고려하여 현실적인 테스트환경을 설정
  • 비현실적인 입력으로 인해 부정확한 성능과 확장성 테스트결과가 도출됨
  • 실제상황에 부합하는 테스트를 실시하는 것이 대단히 중요


반드시 결과를 검증하라

  • 메트릭과 비교하여 결과를 검증하라??
  • 디버그용 코드를 삽입하라??


벤치마킹을 허드렛일로 여기지 말라

  • 벤치마킹은 개발에있어서 중요한 단계 중 하나이다.
  • 벤치마킹을 하게 되면 곤란한 상황을 피할 수 있을 뿐만아니라 시간과 비용을 절감할 수 있다.
  • 제품을 공개하기전에 테스트할 수 없는 상황이라면 그 이유를 따져봐야한다.
  • 확장성을 검증받지 않은 프로덕션 시스템을 고치기 위하여 노력하는 고통은 개발 스케줄을 한두 주 늦추는 고통보다 훨씬 크다.


www.tcp.org

  • 벤치마크는 규격을 이용하여 디자인, 테스트, 구현되어야 한다.
  • 대상 규격은 www.tcp.org 에서 정의에 의해 구축된 시스템과 하드웨어를 의미한다.
  • 그런데 벤치마크라는것은 개인적인것?? 그렇기 때문에 일반화하기 힘들다는 이야기인가?