• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 1. MySQL 프로그램 개요
    2. MySQL 프로그램 사용
    3. MySQL 서버와 서버 시작 프로그램
    4. 설치 관련 프로그램
    5. 클라이언트 프로그램
    1. mysql - MySQL 명령 행 도구
    2. mysqladmin - MySQL 서버를 관리하는 클라이언트
    3. mysqlcheck - 테이블 관리 프로그램
    4. mysqldump - 데이터베이스 백업 프로그램
    5. mysqlimport - 데이터 가져 오기 프로그램
    6. mysqlshow - 데이터베이스, 테이블 및 컬럼 정보보기
    7. mysqlslap - 부하 에뮬레이션 클라이언트
    6. MySQL 관리 프로그램 및 유틸리티 프로그램
    7. MySQL 프로그램 개발 유틸리티
    8. 기타 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

4.5.7 mysqlslap - 부하 에뮬레이션 클라이언트

mysqlslap는 MySQL 서버의 클라이언트로드를 에뮬레이트하고 각 단계의 타이밍을보고하는 진단 프로그램입니다. 여러 클라이언트가 서버에 액세스하는 것처럼 작동합니다.

mysqlslap은 다음과 같이 시작합니다.

 shell> mysqlslap [ options ] 

--create 또는 --query 등의 옵션을 사용하면 SQL 문을 포함하는 문자열과 문을 포함하는 파일을 지정할 수 있습니다. 파일을 지정한 경우 기본적으로 각 행에 하나의 문을 포함해야합니다. (즉, 암시 적 문 구분 기호는 개행 문자입니다.) 다른 구분 기호를 지정하려면 --delimiter 옵션을 사용합니다. 이렇게하면 여러 줄에 걸쳐 문을 지정하거나 한 줄에 여러 개의 명령문을 배치 할 수 있습니다. 파일에 주석을 포함 할 수 없습니다. mysqlslap 그들을 이해하지 않습니다.

mysqlslap은 다음의 3 단계에서 실행됩니다.

  1. 테스트에 사용하는 스키마, 테이블 및 옵션 저장 프로그램이나 데이터를 작성합니다. 이 단계에서는 하나의 클라이언트 연결을 사용합니다.

  2. 부하 테스트를 실행합니다. 이 단계에서는 다수의 클라이언트 연결을 사용할 수 있습니다.

  3. 정리 (연결 해제 지정된 경우 테이블의 삭제)를 실행합니다. 이 단계에서는 하나의 클라이언트 연결을 사용합니다.

예 :

50 대의 클라이언트가 쿼리를 실행하고 각각 200 선택을 할 같은 create와 query SQL 문을 제공합니다 (명령은 한 줄로 입력합니다).

 mysqlslap --delimiter = ";"
   --create = "CREATE TABLE a (b int); INSERT INTO a VALUES (23)"
   --query = "SELECT * FROM a"--concurrency = 50 --iterations = 200

mysqlslap에 두 INT 컬럼과 3 개의 VARCHAR 컬럼들로 이루어진 테이블을 포함 query SQL 문을 생성시킵니다. 5 개의 클라이언트를 사용하여 각각 20 회씩 쿼리를 실행합니다. 테이블을 만들고 데이터를 삽입하거나하지 마십시오 (직전의 테스트 스키마와 데이터를 사용합니다).

 mysqlslap --concurrency = 5 --iterations = 20
   --number-int-cols = 2 --number-char-cols = 3
   --auto-generate-sql

프로그램에 지정된 파일에서 create, insert 및 query SQL 문을로드하도록 지시합니다. 이 경우 create.sql 파일은 ';' 으로 구분 된 여러 테이블 생성 구문과 ';' 로 구분 된 여러 INSERT 문이 포함되어 있습니다. --query 파일은 ';' 으로 구분 된 여러 쿼리가 포함됩니다. 5 개의 클라이언트를 사용하여 모든 load 문을 실행 한 후 query 파일의 모든 쿼리를 실행합니다 (각각 5 회씩).

 mysqlslap --concurrency = 5
   --iterations = 5 --query = query.sql --create = create.sql
   --delimiter = ";"

mysqlslap는 다음 옵션을 지원합니다. 이들은 명령 행 또는 옵션 파일의 [mysqlslap] 그룹과 [client] 그룹에 지정할 수 있습니다. MySQL 프로그램에서 사용되는 옵션 파일에 대한 자세한 내용은 섹션 4.2.6 "옵션 파일 사용" 을 참조하십시오.

표 4.11 mysqlslap 옵션

형식 설명 도입
--auto-generate-sql SQL 문을 파일 및 명령 옵션을 사용하여 지정되지 않은 경우 자동으로 생성
--auto-generate-sql-add-autoincrement AUTO_INCREMENT 컬럼을 자동으로 생성 된 테이블에 추가
--auto-generate-sql-execute-number 자동으로 생성하는 쿼리 수를 지정
--auto-generate-sql-guid-primary 자동 생성 된 테이블에 GUID 기반의 기본 키를 추가
--auto-generate-sql-load-type 자동으로 생성하는 쿼리 수를 지정
--auto-generate-sql-secondary-indexes 자동 생성 된 테이블에 추가하는 보조 인덱스의 수를 지정
--auto-generate-sql-unique-query-number 자동 테스트 생성하는 다른 쿼리의 수.
--auto-generate-sql-unique-write-number --auto-generate-sql-write-number에 대해 생성하는 다른 쿼리 수
--auto-generate-sql-write-number 각 스레드에서 실행하는 행 삽입 횟수
--commit 커밋 전에 실행할 명령의 수입니다.
--compress 클라이언트와 서버간에 전송되는 정보를 압축
--concurrency SELECT 문을 발행 할 때 시뮬레이션하는 클라이언트의 수
--create 테이블을 만드는 데 사용하는 문을 포함하는 파일 또는 문자열
--create-schema 테스트를 실행하는 스키마
--csv 쉼표로 구분 된 값 형식으로 출력을 생성
--debug 디버깅 로그를 작성한다
--debug-check 프로그램이 종료 될 때 디버깅 정보를 출력
--debug-info 프로그램 종료시 디버그 정보, 메모리 및 CPU 통계를 출력
--default-auth 사용하는 인증 플러그인 5.6.2
--defaults-extra-file 일반 옵션 파일 이외에 옵션 파일을 읽을
--defaults-file 지명 된 옵션 파일 만 읽을
--defaults-group-suffix 옵션 그룹의 접미사 값
--delimiter SQL 문에서 사용하는 구분자
--detach N 개의 문이 끝날 때마다 각 연결을 분리 (닫았다가 다시 열)
--enable-cleartext-plugin 일반 텍스트 인증 플러그인을 활성화 5.6.7
--engine 테이블을 만드는 데 사용하는 스토리지 엔진
--help 도움말 메시지를 표시하고 종료
--host 지정된 호스트에서 MySQL 서버에 연결
--iterations 실행할 검사의 횟수
--login-path 로그인 경로 옵션을 .mylogin.cnf에서 읽기 5.6.6
--no-defaults 옵션 파일을 읽지
--no-drop 검사 도중 작성된 스키마를 삭제하지 5.6.3
--number-char-cols --auto-generate-sql이 지정된 경우에 사용하는 VARCHAR 컬럼의 수
--number-int-cols --auto-generate-sql이 지정된 경우에 사용하는 INT 컬럼의 수
--number-of-queries 각 클라이언트의 쿼리 수를 약이 무제한
--only-print 데이터베이스에 연결하지 않는다. mysqlslap가 실행 한 것이다 내용을 출력하기 만
--password 서버에 연결할 때 사용하는 비밀번호
--pipe Windows에서 명명 된 파이프를 사용하여 서버에 연결
--plugin-dir 플러그인이 설치되어있는 디렉토리 5.6.2
--port 연결에 사용하는 TCP / IP 포트 번호
--post-query 테스트가 완료된 후 실행할 명령문을 포함하는 파일 또는 문자열
--post-system 테스트가 완료된 후 system ()을 사용하여 수행 할 문자열
--pre-query 시험 실시 전에 실행할 명령을 포함하는 파일 또는 문자열
--pre-system 시험 실시 전에 system ()을 사용하여 수행 할 문자열
--print-defaults 기본 출력
--protocol 사용하는 연결 프로토콜
--query 데이터 취득을 위해 사용하는 SELECT 문을 포함하는 파일 또는 문자열
--secure-auth 오래된 (4.1.1 이전) 형식으로 서버에 암호를 전송하지 5.6.17
--shared-memory-base-name 공유 메모리 연결에 사용하는 공유 메모리의 이름
--silent 자동 모드
--socket 로컬 호스트에 연결하는 데 사용하는 Unix 소켓 파일
--ssl 연결에 SSL을 활성화
--ssl-ca 신뢰할 수있는 SSL CA의 목록이 들어있는 파일의 경로
--ssl-capath 신뢰할 수있는 SSL CA의 PEM 형식의 인증서를 포함하는 디렉토리의 경로
--ssl-cert PEM 형식의 X509 인증서가 포함 된 파일의 경로
--ssl-cipher SSL 암호화에 사용되는 허용 된 암호 목록
--ssl-crl 인증서 해지 목록을 포함하는 파일의 경로 5.6.3
--ssl-crlpath 인증서 해지 목록 파일을 포함하는 디렉토리 경로 5.6.3
--ssl-key PEM 형식의 X509 키를 포함하는 파일의 경로
--ssl-verify-server-cert 서버에 연결할 때 서버 인증서의 일반 이름 값을 호스트 이름에 대해 검증
--user 서버에 연결할 때 사용하는 MySQL 사용자 이름
--verbose 중복 모드
--version 버전 정보를 출력하고 종료

  • --help , -?

    도움말 메시지를 표시하고 종료합니다.

  • --auto-generate-sql , -a

    SQL 문을 파일 및 명령 옵션을 사용하여 지정되지 않은 경우 자동으로 생성합니다.

  • --auto-generate-sql-add-autoincrement

    AUTO_INCREMENT 컬럼을 자동으로 생성 된 테이블에 추가합니다.

  • --auto-generate-sql-execute-number= N

    자동으로 생성하는 쿼리 수를 지정합니다.

  • --auto-generate-sql-guid-primary

    자동 생성 된 테이블에 GUID 기반의 기본 키를 추가합니다.

  • --auto-generate-sql-load-type= type

    테스트의 부하 유형을 지정합니다. 허용되는 값은 read (테이블 스캔), write (테이블에 삽입), key (기본 키 읽기), update (주키의 갱신) 또는 mixed (삽입 및 스캔 해 선택이 절반 씩)입니다 . 기본값은 mixed 입니다.

  • --auto-generate-sql-secondary-indexes= N

    자동 생성 된 테이블에 추가하는 보조 인덱스의 수를 지정합니다. 기본적으로는 아무 것도 추가되지 않습니다.

  • --auto-generate-sql-unique-query-number= N

    자동 테스트 생성하는 다른 쿼리의 수. 예를 들어, 1000 번 선택을 할 key 테스트를 실시하는 경우,이 옵션의 값을 1000으로하고 고유의 쿼리를 1000 개 실행하거나 값을 50으로하고 다른 쿼리를 50 회 수행 할 수 있습니다. 기본값은 10입니다.

  • --auto-generate-sql-unique-write-number= N

    --auto-generate-sql-write-number 에 대해 생성하는 다른 쿼리 수를 지정합니다. 기본값은 10입니다.

  • --auto-generate-sql-write-number= N

    각 스레드에서 실행하는 행 삽입 횟수를 지정합니다. 기본값은 100입니다.

  • --commit= N

    커밋 전에 실행할 명령의 수입니다. 기본값은 0 (커밋되지 않은)입니다.

  • --compress , -C

    클라이언트와 서버가 압축을 지원하는 경우 그 사이에 송수신되는 정보를 압축합니다.

  • --concurrency= N , -c N

    SELECT 문을 발행 할 때 시뮬레이션하는 클라이언트의 수.

  • --create= value

    테이블을 만드는 데 사용하는 문을 포함하는 파일 또는 문자열.

  • --create-schema= value

    테스트를 수행하는 스키마.

    참고

    --auto-generate-sql 옵션도 지정되어있는 경우 mysqlslap은 테스트 실행의 마지막에 스키마를 제거합니다. 이를 방지하려면 --no-drop 옵션도 사용합니다.

  • --csv[= file_name ]

    쉼표로 구분 된 값 형식으로 출력을 생성합니다. 출력은 지정된 파일 또는 파일이 지정되어 있지 않은 경우 표준 출력으로 보내집니다.

  • --debug[= debug_options ] , -# [ debug_options ]

    디버그 로그를 기록합니다. 일반적인 debug_options 문자열은 d:t:o, file_name 입니다. 기본값은 d:t:o,/tmp/mysqlslap.trace 입니다.

  • --debug-check

    프로그램 종료시 디버그 정보를 출력합니다.

  • --debug-info , -T

    프로그램 종료시 디버그 정보와 메모리 및 CPU 사용량 통계를 출력합니다.

  • --default-auth = plugin

    사용하는 클라이언트 인증 플러그인. 섹션 6.3.7 "플러그 인증" 을 참조하십시오.

    이 옵션은 MySQL 5.6.2에서 추가되었습니다.

  • --defaults-extra-file= file_name

    이 옵션 파일은 글로벌 옵션 파일 다음에 읽을 수 있지만 (UNIX의 경우) 사용자 옵션 파일 전에 읽도록​​하십시오. 파일이 없거나 액세스 할 수없는 경우 오류가 발생합니다. file_name 은 전체 경로 이름이 ​​아닌 상대 경로 이름으로 지정된 경우 현재 디렉토리를 기준으로 해석됩니다.

  • --defaults-file= file_name

    지정된 옵션 파일 만 사용합니다. 파일이 없거나 액세스 할 수없는 경우 오류가 발생합니다. file_name 은 전체 경로 이름이 ​​아닌 상대 경로 이름으로 지정된 경우 현재 디렉토리를 기준으로 해석됩니다.

  • --defaults-group-suffix= str

    일반적인 옵션 그룹뿐만 아니라 일반 이름에 str 의 접미사가 붙은 그룹도 읽습니다. 예를 들어, mysqlslap 보통 [client] 그룹과 [mysqlslap] 그룹을 읽습니다. --defaults-group-suffix=_other 옵션을 지정한 경우 mysqlslap은 [client_other] 그룹과 [mysqlslap_other] 그룹도 읽습니다.

  • --delimiter= str , -F str

    파일 또는 명령 옵션을 사용하여 제공되는 SQL 문에 사용되는 구분자.

  • --detach= N

    N 개의 문마다 각 연결을 분리합니다 (닫았다가 다시 엽니 다). 기본값은 0 (연결은 분리되지 않음)입니다.

  • --enable-cleartext-plugin

    mysql_clear_password 평문 인증 플러그인을 활성화합니다. ( 섹션 6.3.8.7 "클라이언트 측의 일반 텍스트 인증 플러그인" 을 참조하십시오.)이 옵션은 MySQL 5.6.7에서 추가되었습니다.

  • --engine= engine_name , -e engine_name

    테이블을 만드는 데 사용하는 스토리지 엔진을 지정합니다.

  • --host= host_name , -h host_name

    지정된 호스트의 MySQL 서버에 연결합니다.

  • --iterations= N , -i N

    실행할 검사의 횟수입니다.

  • --login-path= name

    지명 된 로그인 경로에서 .mylogin.cnf 로그인 파일의 옵션을 읽습니다. "로그인 경로"는 host , user 및 password 라는 제한된 옵션 집합 만 허용 옵션 그룹입니다. 로그인 경로는 서버 호스트 및 서버에서 인증을위한 인증 정보를 나타내는 값의 집합이라고 생각합니다. 로그인 경로 파일을 작성하려면 mysql_config_editor 유틸리티를 사용합니다. 섹션 4.6.6 "mysql_config_editor - MySQL 구성 유틸리티" 를 참조하십시오. 이 옵션은 MySQL 5.6.6에서 추가되었습니다.

  • --no-drop

    mysqlslap이 검사 도중 만드는 스키마를 드롭하지 않도록합니다. 이 옵션은 MySQL 5.6.3에서 추가되었습니다.

  • --no-defaults

    옵션 파일을 읽지 않습니다. 옵션 파일에서 알 수없는 옵션을 읽을로 인해 프로그램의 실행에 실패 할 경우 --no-defaults 를 사용하여 옵션을 읽는 것을 방지 할 수 있습니다.

    예외적으로 .mylogin.cnf 파일은 존재하는 경우는 모든 경우에 읽습니다. 이는 --no-defaults 가 사용 된 경우에도 명령 행보다 안전한 방법으로 암호를 지정할 수 있습니다. ( .mylogin.cnf 는 mysql_config_editor 유틸리티가 작성됩니다. 섹션 4.6.6 "mysql_config_editor - MySQL 구성 유틸리티" 를 참조하십시오).

  • --number-char-cols= N , -x N

    --auto-generate-sql 이 지정되어있는 경우에 사용하는 VARCHAR 컬럼의 수.

  • --number-int-cols= N , -y N

    --auto-generate-sql 이 지정되어있는 경우에 사용하는 INT 컬럼의 수.

  • --number-of-queries= N

    각 클라이언트의 쿼리 수를 약이 수에 제한합니다. 쿼리의 계산에는 문 구분자가 고려됩니다. 예를 들어, mysqlslap를 다음과 같이 시작하는 경우 ; 구분 기호를 인식 쿼리 문자열의 각 인스턴스는 두 개의 쿼리 및 계산됩니다. 그 결과 (10 대신) 5 개의 행이 삽입됩니다.

     shell> mysqlslap --delimiter=";" --number-of-queries=10
             
    --query="use test;insert into t values(null)" 
  • --only-print

    데이터베이스에 연결하지 않습니다. mysqlslap 실행 한 것이다 내용을 출력 할뿐입니다.

  • --password[= password ] , -p[ password ]

    서버에 연결할 때 사용하는 암호입니다. 짧은 옵션 형식 ( -p )을 사용하는 경우, 옵션과 패스워드 사이에 스페이스를 가질 수 없습니다. 명령 행에서 --password 옵션 또는 -p 옵션 뒤에 password 의 값을 지정하지 않은 경우 mysqlslap 그것을 요구합니다.

    명령 행에서 암호 지정은 안전하지 않다고 생각한다. 섹션 6.1.2.1 "비밀번호 보안에 대한 최종 사용자 지침" 을 참조하십시오. 옵션 파일을 사용하면 명령 행에서 암호를 지정하는 것을 방지 할 수 있습니다.

  • --pipe , -W

    Windows에서 명명 된 파이프를 사용하여 서버에 연결합니다. 이 옵션은 서버가 명명 된 파이프 연결을 지원하는 경우에만 적용됩니다.

  • --plugin-dir= path

    플러그인을 검색하는 디렉토리. --default-auth 옵션을 사용하여 인증 플러그인을 지정했지만 mysqlslap이 그것을 찾을 수없는 경우이 옵션을 지정해야 할 수도 있습니다. 섹션 6.3.7 "플러그 인증" 을 참조하십시오.

    이 옵션은 MySQL 5.6.2에서 추가되었습니다.

  • --port= port_num , -P port_num

    연결에 사용하는 TCP / IP 포트 번호.

  • --post-query= value

    테스트가 완료된 후 실행할 명령문을 포함하는 파일 또는 문자열. 이 수행은 타이밍의 목적은 포함되지 않습니다.

  • --post-system= str

    테스트가 완료된 후 system() 을 사용하여 수행 할 문자열. 이 수행은 타이밍의 목적은 포함되지 않습니다.

  • --pre-query= value

    테스트를 실행하기 전에 실행 문을 포함하는 파일 또는 문자열. 이 수행은 타이밍의 목적은 포함되지 않습니다.

  • --pre-system= str

    테스트를 실행하기 전에 system() 을 사용하여 수행 할 문자열. 이 수행은 타이밍의 목적은 포함되지 않습니다.

  • --print-defaults

    프로그램 이름과 옵션 파일에서받는 모든 옵션을 출력합니다.

  • --protocol={TCP|SOCKET|PIPE|MEMORY}

    서버에 연결하는 데 사용하는 연결 프로토콜. 이 옵션은 다른 연결 매개 변수는 필요한 프로토콜 이외의 것이 일반적으로 사용되는 경우에 유용합니다. 허용되는 값의 자세한 내용은 섹션 4.2.2 "MySQL 서버에 연결" 을 참조하십시오.

  • --query= value , -q value

    데이터 취득을 위해 사용하는 SELECT 문을 포함하는 파일 또는 문자열.

  • --secure-auth

    이전 (4.1 이전) 형식으로 서버에 암호를 전송하지 않습니다. 그러면 새 암호 형식을 사용하는 서버 이외의 연결을 방지합니다. 이 옵션은 기본적으로 활성화됩니다. 해제하려면 --skip-secure-auth 를 사용합니다. 이 옵션은 MySQL 5.6.17에서 추가되었다.

    참고

    4.1 이전의 해시 방식을 사용하는 암호는 기본 암호 해시 방식을 사용하는 암호보다 안전하지 않기 때문에 사용하지 않도록하십시오. 4.1 이전 암호는 사용되지 않으며, 이러한 지원은 향후 MySQL 릴리스에서 제거 될 예정입니다. 계정 업그레이드 지침은 섹션 6.3.8.3 "4.1 이전 암호 해시 방식과 mysql_old_password 플러그인에서 마이그레이션" 을 참조하십시오.

  • --shared-memory-base-name= name

    Windows에서 공유 메모리를 사용하여 생성되는 로컬 서버에 연결 공유 메모리 이름. 이 옵션은 서버가 공유 메모리 연결을 지원하는 경우에만 적용됩니다.

  • --silent , -s

    자동 모드. 출력은 없습니다.

  • --socket= path , -S path

    localhost 에 연결하는 데 사용되는 Unix 소켓 파일 또는 Windows에서 사용하는 명명 된 파이프의 이름.

  • --ssl*

    --ssl 로 시작하는 옵션은 SSL을 사용하여 서버에 연결하는 것을 허용할지 여부를 지정하고 SSL 키와 인증서를 검색 할 위치를 지정합니다. 섹션 6.3.10.4 "SSL 명령 옵션" 을 참조하십시오.

  • --user= user_name , -u user_name

    서버에 연결할 때 사용하는 MySQL 사용자 이름.

  • --verbose , -v

    중복 모드. 프로그램의 동작에 대해 더 많은 정보를 출력합니다. 이 옵션은 정보량을 증가시키기 위해 여러 번 사용할 수 있습니다.

  • --version , -V

    버전 정보를 출력하고 종료합니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved