Global Variables
ProxySQL의 동작은 전역 변수를 사용하여 조정할 수 있습니다. 다음 두 가지 방법으로 구성할 수 있습니다.
- 런타임 시 관리 인터페이스 사용(권장)
- 시작할 때 구성 파일의 전용 섹션 사용
ProxySQL은 데몬을 다시 시작할 필요 없이 대부분의 변수가 런타임에 변경되고 즉시 적용되도록 허용하여 최대 가동 시간을 지원합니다. 런타임 시 변경할 수 없는 변수는 mysql-interfaces, mysql-threads 그리고 mysql-stacksize 3개 뿐입니다.
또한 제어하는 ProxySQL의 부분에 따라 2가지 유형의 전역 변수가 있습니다.
- 관리 인터페이스의 동작을 제어하는 관리 변수. 이름은 "admin-" 토큰으로 시작합니다.
- 프록시의 MySQL 기능을 제어하는 mysql 변수. 이름은 "mysql-" 토큰으로 시작합니다.
이러한 전역 변수는 매우 자주 사용되므로 액세스 속도를 높이기 위해 프록시 내부에 스레드별 방식으로 저장됩니다. 메모리 풋프린트 또는 허용되는 연결 수 및 기타 필수 측면 측면에서 프록시의 동작을 제어합니다.
LOAD MYSQL VARIABLES TO RUNTIME또는 LOAD ADMIN VARIABLES TO RUNTIME명령이 실행될 때마다 mysql 또는 admin 변수를 사용하는 모든 스레드는 값을 업데이트해야 한다는 알림을 받습니다.
전역 변수의 값을 변경하려면 다음 UPDATE명령문 을 사용하십시오.
UPDATE global_variables SET variable_value=1900 WHERE variable_name='admin-refresh_interval';
SET또는 MySQL과 유사한 더 짧은 명령문:
SET admin-refresh_interval = 1700;
SET admin-version = '1.1.1beta8';
'mysql-default_xxx' 변수
ProxySQL은 클라이언트 연결에 필요한 여러 세션 변수를 추적할 수 있으며 해당 클라이언트 연결에서 사용하는 모든 백엔드 연결에서 이러한 변수를 설정합니다. ProxySQL은 새 연결을 만들 때 이러한 변수의 기본값을 인식하지 못하기 때문에 여러 mysql-default_변수가 이러한 변수의 기본값을 정의합니다.
버전 2.0.10까지 ProxySQL mysql-default_variable은 이것이 MySQL 서버에서도 기본값이라고 가정했습니다. 이러한 변수를 올바르게 구성하는 것이 중요하다는 점을 감안할 때입니다.
이러한 변수를 올바르게 구성하는 것이 많은 사용자에게 문제의 원인이 되었기 때문에 ProxySQL 버전 2.0.11부터는 새로운 알고리즘이 도입되었기 때문에 이러한 변수 중 많은 수가 이제 사용되지 않습니다(및 2.0.13에서 제거됨).
- 클라이언트가 지원되는 변수를 명시적으로 설정하면 ProxySQL은 해당 변수가 백엔드 연결에서도 구성되도록 합니다.
- 클라이언트가 지원되는 변수를 명시적으로 설정하지 않으면 ProxySQL은 백엔드 연결에서 변수를 구성하지 않습니다. 즉, 클라이언트가 변수에 대한 값을 설정하지 않으면 백엔드 연결에 구성된 값을 사용합니다.
'2023' 카테고리의 다른 글
ProxySQL 초기 설정 (0) | 2023.01.18 |
---|---|
ProxySQL - MySQL 8.0 지원 (0) | 2023.01.18 |
ProxySQL Configuration file (구성 파일) (0) | 2023.01.17 |
ProxySQL - 다중 계층 구성 시스템 (0) | 2023.01.17 |
ProxySQL - Audit log (감사 로그) (0) | 2023.01.17 |