• 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 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 1. 최적화 개요
    2. SQL문 최적화
    3. 최적화 및 인덱스
    4. 데이터베이스 구조의 최적화
    5. InnoDB 테이블의 최적화
    6. MyISAM 테이블의 최적화
    7. MEMORY 테이블 최적화
    8. 쿼리 실행 계획의 이해
    9. 버퍼링과 캐시
    10. 잠금 작업의 최적화
    11. MySQL 서버의 최적화
    1. 시스템 요소 및 스타트 업 파라미터의 튜닝
    2. 서버 파라미터의 튜닝
    3. 디스크 I / O 최적화
    4. 메모리 사용 최적화
    5. 네트워크 사용의 최적화
    1. MySQL 클라이언트 연결을위한 스레드의 사용 방법
    2. DNS 조회 최적화 및 호스트 캐시
    6. 스레드 풀 플러그인
    12. 성능 측정
  • 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 새로운 기능

8.11.5.1 MySQL 클라이언트 연결을위한 스레드의 사용 방법

연결 관리자 스레드는 서버가 대기하고있는 네트워크 인터페이스에서 클라이언트의 연결 요청을 처리합니다. 모든 플랫폼에서 하나의 관리자 스레드가 TCP / IP 연결 요청을 처리합니다. Unix에서는이 관리자 스레드는 Unix 소켓 파일의 연결 요청도 처리합니다. Windows에서는 하나의 관리자 스레드가 공유 메모리 연결 요청을 처리하고 다른 매니저 스레드가 명명 된 파이프 연결 요청을 처리합니다. 서버가 대기하고 있지 않는 인터페이스를 처리하기위한 스레드를 생성하지 않습니다. 예를 들어, Windows 서버에서 명명 된 파이프 연결 지원이 활성화되어 있지 않은 경우 이러한 연결을 처리하는 스레드는 생성되지 않습니다.

연결 관리자 스레드는 각 클라이언트 연결을 그 연결의 인증 및 요청을 처리하는 전용 스레드에 연결합니다. 관리자 스레드는 필요에 따라 새로운 스레드를 생성하지만 먼저 스레드 캐시를 조사해 연결에 사용할 수있는 스레드가 포함되어 있는지를 확인하여 그것을 해결하는 것을 시도합니다. 연결이 완료되면 스레드 캐시가 가득 않으면 그 스레드가 스레드 캐시에 반환됩니다.

이 연결 스레드 모델은 현재 연결된 클라이언트와 동일한 수의 스레드가 존재하고 다수의 연결을 처리하는 서버의 워크로드를 확대 할 필요가있는 경우에는 몇 가지 단점이 있습니다. 예를 들어, 스레드의 생성과 소멸의 부하가 커집니다. 또한 각 스레드 스택 영역 등의 서버 리소스와 커널 리소스가 필요합니다. 많은 동시 연결을 지원하려면 스레드 당 스택 크기는 작게 유지해야 그것이 너무 작아하거나 서버에서 대량의 메모리를 소비하게되는 상황이 생깁니다. 다른 리소스가 부족할 수도 스케줄링 오버 헤드가 커질 가능성이 있습니다.

MySQL 5.6.10 현재 MySQL 5.6의 상용 배포는 오버 헤드를 줄이고 성능을 향상하도록 설계되어 대체 스레딩 모델을 제공하는 팔찌 수영장 플러그인이 포함되어 있습니다. 이것은 다수의 클라이언트 연결 문 실행 스레드를 효율적으로 관리하여 서버의 성능을 향상시킬 스레드 풀을 구현합니다. 섹션 8.11.6 "스레드 풀 플러그인" 을 참조하십시오.

클라이언트 연결을 처리하는 스레드를 서버가 어떻게 관리할지 여부를 제어하고 모니터하려면 몇 가지 시스템 변수와 상태 변수가 관련이 있습니다. ( 섹션 5.1.4 "서버 시스템 변수" 및 섹션 5.1.6 "서버 상태 변수" 를 참조하십시오.)

스레드 캐시는 thread_cache_size 시스템 변수에 의해 결정되는 크기를 가지고 있습니다. 기본값은 0 (캐시 없음),이 경우 스레드는 새로운 연결마다 설치되고 연결이 종료되면 소멸됩니다. thread_cache_size 를 N 으로 설정하고 N 개의 비활성 연결 스레드를 캐시 할 수 있도록합니다. thread_cache_size 서버를 시작할 때 설정하거나 서버의 실행 중에 변경할 수 있습니다. 연결되어 클라이언트 연결이 완료되면 연결 스레드는 비활성화됩니다.

캐시의 스레드 및 스레드를 캐시에서 검색 할 수 없기 때문에 생성 된 스레드 수를 모니터하려면 Threads_cached 및 Threads_created 상태 변수를 모니터합니다.

서버 시작시 또는 실행시 max_connections 를 설정하여 동시에 연결할 수있는 클라이언트의 최대 수를 제어 할 수 있습니다.

스레드 스택이 너무 작 으면이를 통해 서버가 처리 할 수​​있는 SQL 문 복잡성, 저장 프로 시저의 재귀 깊이 및 기타 메모리를 많이 사용하는 작업이 제한됩니다. 각 스레드에 N 바이트의 스택 크기를 설정하려면 서버를 --thread_stack= N 으로 시작합니다.

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