- 관련 기사 : MySQL의 사용 및 성능 튜닝은 여러 성능 테스트 도구의 mysqlslap 방법과 함께 제공
성능 테스트 도구는 -mysqlslap
mysqlslap은 MySQL이 아주 좋은 성능 테스트 도구를 제공합니다. 사용할 수있는
여러 개의 동시 클라이언트를 시뮬레이션하기 위해 서버 업데이트 요청에 쿼리를 실행 한 다음 간단한 보고서를 출력
선택적 매개 변수
- -engines : 엔진의 담당자가 테스트 될 다수있을 수 구분자로 구분
- -iterations는 : 얼마나 많은 시간을 대신하여 테스트를 실행하려면
- - 자동으로 생성-SQL : 자체 생성 된 SQL 스크립트의 시스템으로 표시 테스트 할
- - 자동으로 생성은-SQL 부하 형 : 대표 테스트 할 읽기 및 쓰기, 또는 이들의 조합 (업데이트 혼합, 쓰기, 읽기) 인
- - 번호 - 중 - 질의 : 대표 쿼리의 총 수를 실행할 수 있습니다. 각 고객은 쿼리의 총 수와 함께 실행할 수있는 쿼리의 수 / 동시 계산
- 관련 정보는 CPU와 메모리에서 추가 출력 -debug-정보를 나타냅니다
- int 형 필드의 수는 테스트 테이블을 만들 수 있습니다 : - 번호-INT-COLS을
- - 자동으로 생성-SQL - - 자동 증가를 추가 테이블이 생성 AUTO_INCREMENT 주제에 열이 자동으로 추가된다
- 형 문자 필드 - 번호 - 숯불 COLS의 수는 테스트 테이블을 만들 수 있습니다
- -create 스키마 데이터베이스 테스트
- 테스트를 수행하기 위해 SQL 문에서 호출 또는 정의 될 수있는 저장 프로 시저 등의 검사를 수행하는 사용자 정의 스크립트를 사용 -Query
- 만,이 옵션을 사용할 수있는 SQL 문을보고 싶다면 - 단지 - 인쇄
다음은 사용의 간단한 예입니다 :
1 2 3 4 5 |
[루트 @의 SYJ ~] # mysqlslap -uroot -proot --concurrency = 500 --iterations = 1 --create 스키마 = '테스트' --query = '선택 * limit1000 u_trade_pay_order 행;' --number 오브 쿼리 = 10 |
MySQL의 성능에 영향을 미치는 요인
연결의 수는 충분하지 않습니다
85 % 이상을 사용하여 연결의 수가있을 때 연결 수는 거의 충분하지가 있습니다
연결을 확인 관련 방법
1 2 |
보여 글로벌 상태 와 같은 'Max_used_connections을' ; 표시 변수 등 'MAX_CONNECTIONS의 %를' ; |
이유 충분히 연결
- 연결 수는 너무 낮거나 너무 높게 설정
- IO 속도가 느린 쿼리는 연결을 해제하지 오랜 시간의 결과로, 막힘의 원인
- SQL 실행, 연결이 해제되지 않습니다
연결 수 MySQL을 수정
1 |
설정된 글로벌 MAX_CONNECTIONS를 = 1,024 ; |
느린 쿼리
원칙적으로 SQL 최적화의 100ms의 실행 시간 일을 고려할 필요가보다 하나이어야한다
느린 SQL보기
1 |
보여 글로벌 상태 와 같은 'Slow_queries을'; |
그 이유는 느린 쿼리를 표시
- 인덱스하거나 불합리한 인덱스
- 데이터 쿼리가 너무 큽니다
- 래치
캐시 적중률
쿼리 캐시 적중률이 <95 % 캐시 크기가 너무 낮게 설정 될 수 있음을 나타냅니다 또는 파편 캐시가 많이있다
캐시 히트 비율 계산 방법
1 |
(해서 qcache_hits - Qcache_inserts) / * 100 %해서 qcache_hits |
쿼리 캐싱 활성화
1 |
설정된 세션 query_cache_size를 = 에 ; |
캐시 활용도를 향상
- 같은 대신 $의 MyBatist #에서의 사용으로, 같은 SQL을 사용하여
- 클라이언트와 서버가 동일한 문자 집합을 사용
- 상기 버퍼의 크기를 증가
- 삽입 및 업데이트 캐시 무효화 원인
추천 도서
- SpringCloud 학습 시리즈 요약
- 인터뷰 계층 회사는 레디 스를 요청합니다 왜, 그래서 더 나은 무엇을 물어?
- 멀티 스레딩 면접에 필요한 기초 지식을 요약
- 자바 소스 코드를 분석 요약 -JDK1.8의 컬렉션
- 요약 기사 - 리눅스 빠른 일반적으로 사용되는 명령
- JVM 시리즈 요약