>  기사  >  데이터 베이스  >  MySQL 클러스터 스트레스 테스트에 대한 자세한 소개

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개

不言
不言앞으로
2019-02-14 11:55:412472검색

이 기사는 MySQL 클러스터 스트레스 테스트에 대한 자세한 소개를 제공합니다. 이는 특정 참고 가치가 있으므로 도움이 될 수 있습니다.

mysql 스트레스 테스트

mysql에는 MySQL에 액세스하는 여러 동시 클라이언트를 시뮬레이션하여 스트레스 테스트를 수행하는 mysqlslap이라는 스트레스 테스트 도구가 함께 제공되며, 동일한 환경에서 여러 스토리지 엔진의 동시성을 잘 비교할 수 있습니다. 압력 성능 차이. 사용 가능한 옵션은 mysqlslap –help를 통해 얻을 수 있습니다. 자세한 내용은 공식 매뉴얼을 참조하세요. 시스템과 함께 제공되는 것이 mysql이거나 rpm 패키지를 사용하여 설치된 경우 MySQL-client 패키지에는 mysqlslap 도구가 있습니다. (추천과정: MySQL 튜토리얼)

테스트 환경 소개:

2개의 가상 머신 2Gmysql 읽기 및 쓰기 분리

사용 구문은 다음과 같습니다.

# mysqlslap [옵션]

공통 매개 변수 [옵션] 상세 설명 :

--auto-generate-sql, -a는 테스트 테이블과 데이터를 자동으로 생성합니다. 이는 동시성 압박을 테스트하기 위해 mysqlslap 도구에서 생성된 SQL 스크립트를 사용한다는 의미입니다.

--auto-generate-sql-load-type=type 테스트 문의 유형입니다. 테스트할 환경이 읽기 작업, 쓰기 작업 또는 이 둘의 혼합인지 여부를 나타냅니다. 값에는 읽기, 키, 쓰기, 업데이트 및 혼합(기본값)이 포함됩니다.

--auto-generate-sql-add-auto-increment는 생성된 테이블에 auto_increment 열을 자동으로 추가하는 것을 의미합니다. 버전 5.1.18부터 지원됩니다.

--number-char-cols=N, -x N 자동 생성된 테스트 테이블에 포함되는 문자 유형 열 수, 기본값 1

--number-int-cols=N, -y N 자동 생성된 테스트 방법 테이블에는 많은 숫자형 열이 포함됩니다. 기본값은 1

--number-of-queries=N 총 테스트 쿼리 수(동시 고객 수 × 고객당 쿼리 수)

--query=name,-q 자체 정의를 사용하여 테스트를 실행합니다. 예를 들어 사용자 정의 저장 프로시저나 SQL 문을 호출하여 테스트를 실행할 수 있습니다.

--create-schema는 사용자 정의 테스트 라이브러리 이름과 테스트 스키마를 나타냅니다. MySQL의 스키마도 데이터베이스입니다.

--commint=N 한 번 제출할 DML 수입니다.

--compress, -C 서버와 클라이언트 모두 압축을 지원하는 경우 정보를 압축하여 전달합니다.

--concurrency=N, -c N은 동시성 양, 즉 동시에 select를 실행하기 위해 시뮬레이션되는 클라이언트 수를 나타냅니다. 쉼표나 --delimiter 매개변수에 지정된 값을 구분 기호로 사용하여 여러 값을 지정할 수 있습니다. 예: --concurrency=100,200,500.

--engine=engine_name, -eengine_name은 테스트할 엔진을 나타냅니다. 구분 기호로 구분된 여러 엔진이 있을 수 있습니다. 예: --engines=myisam,innodb.

--iterations=N, -i N 테스트 실행의 반복 횟수로, 다양한 동시 환경에서 테스트를 실행해야 하는 횟수를 나타냅니다.

--only-print는 실제로 실행하지 않고 테스트 문만 인쇄합니다.

--detach=N N 문을 실행한 후 연결을 끊었다가 다시 연결합니다.

--debug-info, -T 메모리 및 CPU 관련 정보를 인쇄합니다.

참고:

테스트 프로세스에서는 테스트 테이블을 생성하고 테스트 데이터를 삽입해야 합니다. 이 mysqlslap은 기본적으로 생성됩니다. 이미 존재하는 경우 먼저 삭제하세요. --only-print를 사용하여 실제 테스트 프로세스를 인쇄할 수 있으며 전체 테스트가 완료된 후에는 데이터베이스에 흔적이 남지 않습니다.

mysqlslap -a -c 150 -i 10 -uroot -proot1234 150

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개

에서 mysql 연결 수를 테스트할 때 스트레스 테스트 동시성 수가 200에 도달하면 연결이 중단됩니다

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[1]

테스트 예:

단일 스레드 테스트.

# mysqlslap -a -uroot -proot1234

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[2]

멀티 스레드 테스트, 동시성 테스트.

# mysqlslap -a -c 100 -uroot -proot1234

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[3]

동시 횟수가 100에 도달하면 검색 쿼리 시간이 1초 이상이 됩니다.

반복 테스트입니다. 평균을 얻기 위해 여러 번 테스트를 수행하는 데 사용됩니다.

# mysqlslap -a -i 10 -uroot -proot1234

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[4]

동시에 여러 스토리지 엔진의 성능을 테스트하고 비교합니다.

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 -- iterations=5 --engine=myisam,innodb -uroot -proot1234

각각 50 및 100 동시성으로 테스트를 실행하고 총 1000개의 쿼리를 실행합니다.

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[5]

innodb 성능 쿼리가 더 나은 것은 분명합니다

# mysqlslap - a --concurrency=50,100 --쿼리 수 1000 -uroot -proot1234

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[6]

각각 50 및 100 동시성에 대한 테스트 결과(벤치마크)를 얻었습니다. 동시성이 높을수록 모든 쿼리를 실행하는 데 시간이 더 오래 걸립니다. 정확성을 위해 여러 번 반복하고 테스트할 수 있습니다.

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 -uroot -proot1234

MySQL 클러스터 스트레스 테스트에 대한 자세한 소개[7]

위 내용은 MySQL 클러스터 스트레스 테스트에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제