MariaDB 커넥터에서 orora 설정 후 DB 연결 증가
MariaDB JDBC 커넥터 Aurora 고유의 기능을 사용하여 페일오버 동작을 테스트하고 있습니다.
JDBC URL은 문서에서 제안하는 대로 설정되었습니다.
jdbc:mysql:aurora://cluster.cluster-xxxx.us-east-1.rds.amazonaws.com/db
문제는 우리가 이 시스템을 추가하자 마자신이aurora:URL 스키마의 일부에서는 변경을 롤백해야 하는 시점까지 데이터베이스 라이터에 대한 접속이 증가하고 있음을 알 수 있습니다(3.000개의 접속에 달할 수도 있습니다).
버전:
설정:
master {
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "org.mariadb.jdbc.Driver"
url = "jdbc:mysql:aurora://cluster-name.cluster-xxx.us-east-1.rds.amazonaws.com/db_name?characterEncoding=utf8mb4&rewriteBatchedStatements=true&usePipelineAuth=false"
user = "rw_user"
password = "rw_user_pass"
numThreads = 20
queueSize = 1000000
}
}
slaves = [
{
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "org.mariadb.jdbc.Driver"
url = "jdbc:mysql:aurora://cluster-name.cluster-ro-xxx.us-east-1.rds.amazonaws.com/db_name?characterEncoding=utf8mb4&usePipelineAuth=false"
user = "ro_user"
password = "ro_user_pass"
numThreads = 20
queueSize = 1000000
}
}
]
우리는 그것을 추가하려고 했다.aurora:MariaDB 커넥터 버전을 업그레이드한 후 JDBC URL 스키마에 파트를 추가했지만 Reader에 대한 연결 수가 다시 증가하기 시작했습니다.

를 실행하면show processlist읽기 전용 엔드 포인트에서는, 「cleaned cleanup」상태로 열려 있는 모든 접속과 「sleep」명령어를 확인할 수 있습니다.
우리는 그것을 없앴다.aurora:읽기 전용 엔드포인트에 대한 연결 수를 안정시키기 위해 엔드포인트에서 파트를 만듭니다.드라이버가 연결을 여는 동안 클러스터 마스터를 검색할 수 있습니까?그것은 이런 종류의 행동을 설명할 수 있을 것이다.
「aurora」키워드를 사용하는 경우는, 후드에서 다음의 2개의 접속을 작성합니다.
- 프라이머리 서버로의 접속,
- 복제본 중 하나에 대한 연결(있는 경우)
목표는 항상 메인 서버의 리소스를 절약하는 것입니다.일반적으로 설정되는 풀은 1개뿐입니다.그런 다음 운전자는 [연결]에 따라 기본/복제본 연결을 사용합니다.setReadOnly] [1]
「쓰기」/「읽기」풀을 개별적으로 사용하고 있는 경우는, 「페일오버」를 설정해 두면 문제가 해결됩니다.드라이버는 1개의 실제 연결만 사용합니다.이렇게 하면 "마모된" 연결이 없어집니다.
페일오버는 다른 방법으로 처리되지만 같은 결과를 얻을 수 있습니다(예를 들어 방금 충돌한 복제본으로 전송되는 트랜잭션에 포함되지 않은 쿼리는 "aurora" 구성을 사용할 때와 같이 프라이머리 연결을 직접 사용하지 않습니다. 드라이버는 쿼리를 실행하기 전에 다른 복제본에 대한 새로운 연결을 다시 만듭니다).
액티브한 접속을 수십 개 넘으면, 데이타베이스는 그 자체를 더듬기 시작합니다.Aurora에서 연결을 허용하는 대역폭이 무한하다고 가정하지 말고 클라이언트에서 연결을 조절하는 것이 좋습니다.
언급URL : https://stackoverflow.com/questions/44020489/db-connections-increase-after-setting-aurora-in-mariadb-connector
'source' 카테고리의 다른 글
| Npm 설치에서 'semver' 모듈을 찾을 수 없습니다. (0) | 2023.01.16 |
|---|---|
| Pymysql 삽입이 작동하지 않음 (0) | 2023.01.16 |
| Python3 프로젝트에서 __pycache_ 폴더 및 .pyc 파일을 제거합니다. (0) | 2023.01.16 |
| Java 문자열 포맷을 사용한 정수 포맷 (0) | 2023.01.16 |
| 수집되지 않은 유형 오류: null의 속성 '$store'를 읽을 수 없습니다. (0) | 2023.01.16 |