단일 서버
Huge Page 사용 설정
PostgreSQL과 마찬가지로 AlloyDB Omni는 Huge Page 사용을 지원합니다. 이렇게 하려면 머신에서 Huge Page를 사용 설정해야 하며 데이터베이스 설정 huge_pages
도 사용 설정해야 합니다.
제공된 스크립트를 실행하여 머신에서 Huge Page를 사용 설정합니다.
Docker
docker run --rm --privileged google/alloydbomni setup-host
Podman
podman run --rm --privileged google/alloydbomni setup-host
postgresql.conf
에 다음 줄을 추가하여 Huge Page를 사용 설정합니다.huge_pages=on
스와핑 사용 설정
운영체제에서 스와핑을 사용하면 랜덤 액세스 메모리(RAM)와 하드 디스크 간에 비활성 메모리 페이지를 이동하여 활성 프로세스를 위한 RAM 공간을 확보함으로써 사용 가능한 실제 메모리를 확장할 수 있습니다. AlloyDB Omni는 부하가 높고 추가 메모리가 필요한 경우 스와핑을 사용합니다.
시스템에 사용 설정된 스왑 공간을 확인하려면 다음을 실행합니다.
cat /proc/meminfo | grep SwapTotal
결과는 다음과 유사합니다.
SwapTotal: 165748732 kB
출력 값이 0
인 경우 운영체제에서 스와핑을 사용 설정하려면 다음을 참조하세요.
코어 덤프 사용 설정
AlloyDB Omni에서 복구 불가 오류가 발생하여 비정상 종료되는 경우 코어 덤프가 있으면 분석에 유용합니다. 코어 덤프는 비정상 종료 시점의 AlloyDB Omni 프로세스의 메모리 스냅샷입니다.
코어 덤프를 설정하려면 다음과 같이 kernel.core_pattern
을 설정합니다.
sysctl
명령어를 사용하여 런타임 커널 파라미터를 구성합니다.kernel.core_pattern
을 즉시 설정하려면 다음을 사용하세요.sysctl -w kernel.core_pattern="CORE_PATTERN"
CORE_PATTERN
을 '%e-%t.core'와 같은 핵심 파일 이름 패턴으로 바꿉니다.핵심 파일 이름 패턴에 관한 자세한 내용은 프로세스 핵심 파일 이름 설정 방법을 참조하세요.
systemd-coredump 핸들러를 사용하면 coredump 설정을 추가로 구성할 수 있습니다. 이 도구는 RHEL에 기본적으로 설치됩니다. Debian 및 Ubuntu 시스템에서
sudo apt install coredumpctl
을 실행하여 도구를 설치합니다.AlloyDB Omni를 시작할 때
docker run
명령어에--ulimit=core:-1:-1
인수를 전달해야 합니다.Docker
docker run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
다음을 바꿉니다.
CONTAINER_NAME
: 새 AlloyDB Omni 컨테이너의 이름입니다(예:my-omni-1
).<code>NEW_PASSWORD
: 생성 후 새 컨테이너의postgres
사용자에 할당할 비밀번호입니다.
Podman
podman run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
다음을 바꿉니다.
CONTAINER_NAME
: 새 AlloyDB Omni 컨테이너의 이름입니다(예:my-omni-1
).<code>NEW_PASSWORD
: 생성 후 새 컨테이너의postgres
사용자에 할당할 비밀번호입니다.
작업을 자동으로 실행하도록 systemd 단위 설정
전용 서버에서 AlloyDB Omni를 실행하는 경우 서버가 부팅될 때 특정 작업이 자동으로 시작되도록 구성할 수 있습니다. 이를 위한 한 가지 방법은 systemd
단위를 사용하는 것입니다.
예를 들어 다음 단계에서는 서버가 부팅될 때마다 자동으로 Huge Page가 사용 설정되도록 systemd
를 구성합니다.
/etc/systemd/system/alloydb-setup-env.service
에 파일을 만듭니다.[Unit] Description=Setup huge pages for AlloyDB Omni [Service] Type=oneshot ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host [Install] WantedBy=multi-user.target
다음과 같이 서비스를 사용 설정합니다.
sudo systemctl enable alloydb-setup-env.service