8.12.2 MySQL 벤치 마크 스위트
이 벤치 마크 스위트는 특정 SQL 구현 성능이 향상 또는 저하 작업을 사용자에게 보여주는 것을 목적으로하고 있습니다. MySQL 소스 배포판의 sql-bench
디렉토리에있는 코드와 결과를 확인하여 벤치마킹의 동작에 대해 충분히 이해할 수 있습니다.
이 벤치 마크는 싱글 스레드이기 때문에 실행되는 조작의 최단 시간을 측정합니다. 미래는이 벤치 마크 스위트에 멀티 스레드 테스트도 추가 할 예정입니다.
벤치 마크 스위트를 사용하려면 다음 요구 사항을 충족해야합니다.
벤치 마크 스위트는 MySQL 소스 배포판에서 제공됩니다. http://dev.mysql.com/downloads/ 에서 출시 된 배포를 다운로드하거나 현재 개발 소스 트리를 사용합니다. ( 섹션 2.9.3 "개발 소스 트리를 사용하여 MySQL 설치" 를 참조하십시오.)
벤치 마크 스크립트는 Perl로 작성된 데이터베이스 서버에 액세스하기 위해 Perl DBI 모듈을 사용하고 있기 때문에, DBI를 설치해야합니다. 또한 테스트 대상 서버의 각 서버 별 DBD 드라이버도 필요합니다. 예를 들어, MySQL, PostgreSQL, 그리고 DB2를 테스트하려면
DBD::mysql
,DBD::Pg
,DBD::DB2
모듈이 설치되어 있어야합니다. 섹션 2.13 "Perl 설치에 대한 주석" 을 참조하십시오.
MySQL 소스 배포판의 입수 후 그 sql-bench
디렉토리에있는 벤치 마크 스위트를 찾을 수 있습니다. 벤치 마크 테스트를 수행하려면 MySQL을 구축하고 위치를 sql-bench
디렉토리로 변경하고 run-all-tests
스크립트를 실행합니다.
shell>cd sql-bench
shell>perl run-all-tests --server=
server_name
server_name
은 지원되는 서버 중 하나의 이름으로해야합니다. 모든 옵션 및 지원 서버의 목록을 검색하려면이 명령을 호출합니다.
shell> perl run-all-tests --help
crash-me 스크립트도 sql-bench
디렉토리에 있습니다. crash-me는 실제 쿼리를 실행하여 데이터베이스 시스템이 지원하는 기능과 성능 및 제한을 확인하려고합니다. 예를 들어, 다음을 확인합니다.
지원되는 데이터 유형
지원되는 인덱스 수
지원되는 함수
사용 가능한 쿼리의 크기
사용 가능한
VARCHAR
컬럼의 크기
벤치 마크 결과에 대한 자세한 내용은 http : //www.mysql.com/why-mysql/benchmarks/를 참조하십시오.