Cloud SQL SQL Server 동시 연결 한도 점검

예상 부하와 인스턴스 용량에 맞는 연결 한도를 설정하세요.

설명

SQL Server의 user connections가 업무에 필요한 동시 연결 수보다 낮으면 새 연결이 거부될 수 있습니다. 다만 명시적인 한도는 과부하를 막기 위한 의도적인 통제일 수 있으며 1000이라는 값 자체가 잘못된 것은 아닙니다.

0은 무제한이 아니라 최대 32767까지 자동 조정하는 설정입니다. 실제 처리 능력은 인스턴스 자원과 애플리케이션에도 제한됩니다.

잠재적 영향

  • 너무 낮은 한도는 정상 요청과 관리 접속을 막을 수 있습니다.
  • 한도를 무작정 높이면 메모리 등 자원 소모와 응답 지연이 커질 수 있습니다.

해결 방법

  • 동시 연결 사용량, 연결 풀과 인스턴스 용량을 확인해 user connections를 정하세요. 자동 조정이 적합할 때 0을 사용하고 필요한 재시작을 계획하세요.
  • 부하 시험으로 정상 연결 수용과 과부하 제어를 확인하고 연결 오류 및 자원 사용량을 모니터링하세요.

예시

인스턴스 설정 일부를 비교하는 예제입니다. 실제 지원되는 엔진 버전과 SQL Server용 머신 유형을 사용하고, var.sql_server_tier와 생략된 필수 입력을 준비하세요. 이 플래그 변경에 예제와 같은 엔진 버전 변경이 필요한 것은 아닙니다.

변경 전

hcl
resource "google_sql_database_instance" "db" {
  name             = "sqlserver-instance"
  database_version = "SQLSERVER_2017_EXPRESS"
  region           = "us-central1"

  settings {
    database_flags {
      name  = "user connections"
      value = "1000"
    }
  }
}

변경 후

hcl
resource "google_sql_database_instance" "db" {
  name             = "sqlserver-instance"
  database_version = "SQLSERVER_2019_STANDARD"
  region           = "us-central1"

  settings {
    tier = var.sql_server_tier

    database_flags {
      name  = "user connections"
      value = "0"
    }
  }
}

설명:

  • 변경 전: 동시 연결 한도를 1000으로 지정합니다. 업무와 용량에 맞는지 판단해야 합니다.
  • 변경 후: 0으로 동적 조정을 사용합니다. 무한한 연결이나 자원을 제공하지는 않습니다.

참조