18.3.3.10 MySQL Cluster의 공유 메모리 연결
MySQL Cluster는 공유 메모리 트랜스 포터를 사용하고 가능하면 자동으로 구성하려고합니다.config.ini 파일의 [shm] 섹션은 클러스터 노드 간의 공유 메모리 연결을 명시 적으로 정의합니다. 공유 메모리를 연결하는 방법으로 명시 적으로 정의 할 때 적어도 NodeId1 , NodeId2 및 ShmKey 을 정의해야합니다. 다른 모든 매개 변수는 대부분의 경우 제대로 작동하려면 기본값이 있습니다. SHM 기능은 어디 까지나 실험적인 것으로 간주됩니다. 이것은 현재 어떤 MySQL Cluster 릴리스에서 공식적으로 지원되지 않으며 테스트 결과에서 트랜스 포터에 TCP / IP를 사용하는 경우에 비해 SHM의 성능이 분명히 우수하다고는 말할 수 없습니다.
이러한 이유로 특정한 경우에 SHM가 제대로 작동하게 될지 어떨지는 사용자가 직접 또는 무료 리소스 (포럼, 메일 링리스트)을 사용하여 결정해야합니다.
NodeId1Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 numeric [none] ... N 두 노드 사이의 연결을 확인하려면 각 노드의 식별자를
NodeId1및NodeId2로 지정해야합니다.NodeId2Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 numeric [none] ... N 두 노드 사이의 연결을 확인하려면 각 노드의 식별자를
NodeId1및NodeId2로 지정해야합니다.HostName1Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 name or IP address [none] ... N HostName1및HostName2매개 변수를 사용하면 두 노드 간의 특정 SHM 연결에서 사용하는 특정 네트워크 인터페이스를 지정할 수 있습니다. 이러한 매개 변수에 대한 값은 호스트 이름 또는 IP 주소입니다.HostName2Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 name or IP address [none] ... N HostName1및HostName2매개 변수를 사용하면 두 노드 간의 특정 SHM 연결에서 사용하는 특정 네트워크 인터페이스를 지정할 수 있습니다. 이러한 매개 변수에 대한 값은 호스트 이름 또는 IP 주소입니다.OverloadLimit송신 버퍼에 더 많은 보내지 않은 바이트가있을 때 연결이 과부하 상태 인 것으로 간주됩니다.Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 bytes 0 0 - 4294967039 (0xFFFFFEFF) N 이 매개 변수를 사용하면 연결 과부하 상태로 간주 전에 전송 버퍼에 존재하는 보내지 않은 데이터의 양을 결정할 수 있습니다. 자세한 내용은 섹션 18.3.2.12 "MySQL Cluster의 전송 버퍼 매개 변수 구성" 을 참조하십시오.
ShmKeyEffective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 unsigned [none] 0 - 4294967039 (0xFFFFFEFF) N 공유 메모리 세그먼트를 구성 할 때 정수로 표시되는 노드 ID를 사용하여 통신에 사용하는 공유 메모리 세그먼트를 고유하게 식별합니다. 기본값은 없습니다.
ShmSizeEffective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 bytes 1M 64K - 4294967039 (0xFFFFFEFF) N 각 SHM 연결에는 송신 측과 읽기 측에서 노드 간의 메시지를 배치하는 공유 메모리 세그먼트가 있습니다. 이 세그먼트의 크기는
ShmSize에서 정의됩니다. 기본값은 1M 바이트입니다.SendSignalIdEffective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 boolean false true, false N 전달 된 메시지의 경로를 따라 각 메시지에 고유 식별자를 설정해야합니다. 이 매개 변수를
Y로 설정하면 메시지 ID도 네트워크를 통해 전송되는 것입니다. 이 기능은 제품 빌드에서는 기본적으로 비활성화되어 있으며,-debug빌드에 사용됩니다.Checksum이 매개 변수는 boolean (Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 boolean true true, false N Y/N) 매개 변수이며, 기본적으로 비활성화되어 있습니다. 활성화하면 송신 버퍼에 배치되기 전에 모든 메시지의 체크섬이 계산됩니다.이 기능은 수신 버퍼에서 대기중인 메시지의 손상을 막을 수 있습니다. 이것은 전송시 데이터 손상에 대한 검사로도 작동합니다.
SigNum공유 메모리 트랜스 포터를 사용하면 공유 메모리에 사용 가능한 새로운 데이터가 발생했을 때 프로세스에서 다른 프로세스에 운영 체제 신호가 전송됩니다. 그 신호가 기존의 신호와 충돌하는 경우에는이 매개 변수를 사용하여 변경할 수 있습니다. 이는 SHM을 사용할 때 다른 운영 체제에서 다른 신호 번호가 사용되기 때문에 발생할 수 있습니다.Effective Version Type/Units Default Range/Values Restart Type NDB 7.3.0 unsigned [none] 0 - 4294967039 (0xFFFFFEFF) N SigNum의 기본값은 0입니다. 따라서 공유 메모리 트랜스 포터를 사용할 때 클러스터 로그의 오류를 피하기 위해이를 설정해야합니다. 일반적으로이 매개 변수는config.ini파일의[shm default]섹션에서 10로 설정합니다.