Loading...
MySQL 9.5 Reference Manual 9.5의 10.13.2 Using Your Own Benchmarks의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
애플리케이션과 데이터베이스에 대해 벤치마크를 수행하여 병목이 어디에 있는지 찾아내십시오. 하나의 병목을 수정한 후(또는 그것을 “dummy” 모듈로 교체해서) 다음 병목을 찾아내는 방식으로 진행할 수 있습니다. 현재 애플리케이션의 전체적인 성능이 허용 가능한 수준이라고 하더라도, 각 병목에 대한 계획을 세우고, 언젠가 정말로 추가적인 성능이 필요해졌을 때 이를 어떻게 해결할지 미리 결정해 두어야 합니다.
무료 벤치마크 스위트인 Open Source Database Benchmark는 http://osdb.sourceforge.net/에서 사용할 수 있습니다.
시스템에 아주 과도한 부하가 걸렸을 때만 문제가 발생하는 것은 매우 흔한 일입니다. 우리는 프로덕션 환경에서(테스트가 완료된) 시스템이 부하 문제에 직면했을 때 연락을 해온 고객들을 많이 보아 왔습니다. 대부분의 경우, 성능 문제는 기본적인 데이터베이스 설계상의 이슈(예를 들어, 높은 부하에서 테이블 스캔은 좋지 않습니다)나 운영 체제 또는 라이브러리의 문제로 판명됩니다. 대부분 이런 문제들은 시스템이 아직 프로덕션에 투입되기 전에 훨씬 더 쉽게 수정할 수 있었을 것입니다.
이와 같은 문제를 피하려면, 가능한 최악의 부하 하에서 전체 애플리케이션에 대해 벤치마크를 수행해야 합니다:
mysqlslap 프로그램은 여러 클라이언트가 동시에 쿼리를 실행하여 발생시키는 높은 부하를 시뮬레이션하는 데 유용할 수 있습니다. Section 6.5.7, “mysqlslap — A Load Emulation Client”를 참조하십시오.
또한 SysBench와 DBT2 같은 벤치마킹 패키지를 사용할 수도 있습니다. 이들은 https://launchpad.net/sysbench 및 http://osdldbt.sourceforge.net/#dbt2에서 사용할 수 있습니다.
이러한 프로그램이나 패키지는 시스템을 완전히 마비시킬 수 있으므로, 반드시 개발 시스템에서만 사용하도록 하십시오.
10.13.1 Measuring the Speed of Expressions and Functions
10.13.3 Measuring Performance with performance_schema