Mysql & Maria/admin

mysqlslap 사용 부하테스트

dbavayne 2024. 4. 18. 12:25

mysqlslap 사용하여 부하/성능 테스트 진행

 

mysql, maria 설치 시 기본으로 제공하는 유틸리티이며

 

Concurrency  파라미터를 통해 여러 client 가 동시 접속 하는것처럼 작동한다. 

 

 mysqlslap --concurrency=200 --iterations=100 --auto-generate-sql --auto-generate-sql-guid-primary --auto-generate-sql-load-type=read --verbose

 

위의 명령어는 동시접속자 200 session이 100번 수행함을 의미

--auto-generate-sql  파라미터를 통해 테스트 db와 테이블을 자동생성, 삭제 하며 테스트 한다.

* 자동생성된 mysqlslap 스키마와 t1 테이블 확인 (테스트 도중 general log 로 확인)

 

각각의 옵션 아래 참조

 

--auto-generate-sql-add-autoincrement : Add AUTO_INCREMENT column to automatically generated tables
--auto-generate-sql-execute-number :  Specify how many queries to generate automatically
--auto-generate-sql-guid-primary :  Add a GUID-based primary key to automatically generated tables
--auto-generate-sql-secondary-indexes :  Specify how many secondary indexes to add to automatically generated tables
--auto-generate-sql-unique-query-number : How many different queries to generate for automatic tests
--auto-generate-sql-unique-write-number: How many different queries to generate for --auto-generate-sql-write-number
--auto-generate-sql-write-number   :  How many row inserts to perform on each thread

--auto-generate-sql-load-type    Specify the test load type(Default=mix)
   read (scan tables), write (insert into tables), key (read primary keys), update (update primary keys) or mixed (half inserts, half scanning selects). The default is mixed.

 

--query 옵션을 통해선   --query=/usr/local/mysql/test.sql 이와 같이 파일로 저장된 sql 파일로 저장된 쿼리를 수행하는 것도 가능하다