• 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. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 1. MySQL Cluster 개요
    2. MySQL Cluster 설치
    3. MySQL Cluster 설정
    1. MySQL Cluster의 빠른 테스트 설정
    2. MySQL Cluster 구성 매개 변수의 개요
    3. MySQL Cluster 구성 파일
    1. MySQL Cluster 구성의 기본적인 예제
    2. MySQL Cluster의 권장 초기 구성
    3. MySQL Cluster의 연결 문자열
    4. MySQL Cluster의 컴퓨터의 정의
    5. MySQL Cluster 관리 서버의 정의
    6. MySQL Cluster 데이터 노드의 정의
    7. MySQL Cluster의 SQL 노드 및 기타 API 노드의 정의
    8. MySQL 클러스터의 TCP/IP 연결
    9. 직접 연결을 사용하는 MySQL Cluster의 TCP/IP 연결
    10. MySQL Cluster의 공유 메모리 연결
    11. MySQL Cluster에서 SCI 전송 연결
    12. MySQL Cluster의 전송 버퍼 매개 변수 구성
    4. MySQL Cluster용 MySQL Server 옵션 및 변수
    5. MySQL Cluster에서 고속 인터커넥트 사용
    4. MySQL Cluster 프로그램
    5. MySQL Cluster 관리
    6. MySQL Cluster Replication
    7. MySQL Cluster Release Notes
  • 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 새로운 기능

18.3.3.12 MySQL Cluster의 전송 버퍼 매개 변수 구성

이전 NDB 커널에서는 클러스터의 각 노드에 대해 크기가 2M 바이트로 고정 된 전송 버퍼가 채용 된이 버퍼는 노드가 시작될 때 할당했습니다. 이 버퍼의 크기는 클러스터 시작 후 변경할 수 없기 때문에 사전에 트랜스 포터 소켓에 대한 최대 부하에 대응할 수있는 충분한 크기로해야했습니다. 그러나 많은 경우 대부분의 메모리가 사용되지 않기 때문에, 이것은 비효율적 인 메모리의 사용 방법이며, 그 결과 많은 API 노드에 대응하고 확장 할 때 대량의 자원이 낭비 될 가능성 이있었습니다.

이 문제는 결국 (MySQL Cluster NDB 7.0) 모든 트랜스 포터가 공유 풀에서 메모리를 동적으로 할당 통합 된 전송 버퍼를 채용하는 것으로 해결되었습니다. 그러면 송신 버퍼의 크기를 원하는대로 조정할 수 있습니다. 통합 된 전송 버퍼의 구성은 다음 매개 변수를 설정하면 가능합니다.

  • TotalSendBufferMemory이 매개 변수는 모든 유형의 MySQL Cluster 노드에 대해 설정할 수 있습니다. 즉, config.ini 파일의 [ndbd] [ [mgm] 및 [api] (또는 [mysql] ) 섹션에 설정할 수 있습니다. 이것은 각 노드가 할당 모든 구성된 트랜스 포터 간의 사용으로 설정되는 총 메모리 량 (바이트 단위)를 나타냅니다. 설정하는 경우 최소는 256K 바이트 최대는 4294967039입니다.

    기존 구성과의 호환성을 보장하기 위해이 매개 변수의 기본값은 구성된 모든 트랜스 포터의 최대 전송 버퍼 크기의 총에 트랜스 포터 당 32K 바이트 (1 페이지)을 더한 값으로되어 합니다. 최대는 다음 표와 같이 트랜스 포터의 유형에 따라 다릅니다.

TransporterMaximum Send Buffer Size (bytes)
TCPSendBufferMemory (default = 2M)
SCISendLimit (default = 8K) plus 16K
SHM20K
  • 이로 인해 기존의 구성이 MySQL Cluster NDB 6.3 이전과 거의 동일하게 작동하고 각 트랜스 포터에서 같은 양의 메모리와 전송 버퍼 공간을 사용할 수 있습니다. 그러나 특정 트랜스 포터에 사용되지 않은 메모리는 다른 트랜스 포터로도 사용할 수 없습니다.

  • OverloadLimit이 매개 변수는 config.ini 파일의 [tcp] 섹션에서 사용 된 연결이 과부하 상태로 간주되기 전에 송신 버퍼에 존재하는 보내지 않은 데이터의 양 (바이트 단위)를 나타냅니다. 이러한 과부하가 발생하면 과부하 연결에 영향을 미치는 트랜잭션이 실패하고 과부하 상태가 끝날 때까지 다음과 같은 오류가 발생합니다 : NDB API 오류 1218 (Send Buffers overloaded in NDB kernel ). 기본값은 0입니다. 이 경우 특정 연결에 대한 실질적인 과부하 제한은 SendBufferMemory * 0.8 로 계산됩니다. 이 매개 변수의 최대 값은 4G입니다.

  • SendBufferMemory이 값은 단일 트랜스 포터가 TotalSendBufferMemory 에 지정된 전체 풀에서 사용할 수있는 메모리 양에 대한 엄격한 제한을 나타냅니다. 그러나 모든 구성된 트랜스 포터의 SendBufferMemory 의 합계는 특정 노드에 설정된 TotalSendBufferMemory 보다 커질 수 있습니다. 다수의 노드가 사용되는 경우 모든 트랜스 포터가 최대 메모리 양을 동시에 필요로하지 않는 한,이 같은 방법으로 메모리가 절약됩니다.


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