10.2. 데이터베이스 애플리케이션의 성능에 영향을 주는 매개변수
다음 커널 매개 변수는 데이터베이스 애플리케이션의 성능에 영향을 미칩니다.
- fs.aio-max-nr
시스템에서 서버에서 처리할 수 있는 최대 비동기 I/O 작업 수를 정의합니다.
참고fs.aio-max-nr
매개변수를 늘리면 aio 제한을 늘리는 것 이상의 추가 변경 사항이 발생하지 않습니다.- fs.file-max
시스템이 모든 인스턴스에서 지원하는 최대 파일 처리 수(임시 파일 이름 또는 열려 있는 파일에 할당된 ID)를 정의합니다.
커널은 애플리케이션에서 파일 처리를 요청할 때마다 파일 처리를 동적으로 할당합니다. 그러나 애플리케이션에서 릴리스할 때 커널에서 이러한 파일 처리를 해제하지 않습니다. 대신 이러한 파일 처리를 재활용합니다. 현재 사용되는 파일 처리 수가 낮더라도 할당된 총 파일 처리 수가 시간이 지남에 따라 증가할 수 있습니다.
kernel.shmall
-
시스템 전체에서 사용할 수 있는 총 공유 메모리 페이지 수를 정의합니다. 전체 메인 메모리를 사용하려면
kernel.shmall
매개 변수의 값은 전체 메인 메모리 크기여야 합니다. kernel.shmmax
- Linux 프로세스에서 가상 주소 공간에 할당할 수 있는 단일 공유 메모리 세그먼트의 최대 크기(바이트)를 정의합니다.
kernel.shmmni
- 데이터베이스 서버가 처리할 수 있는 최대 공유 메모리 세그먼트 수를 정의합니다.
net.ipv4.ip_local_port_range
- 시스템은 포트 번호를 지정하지 않고 데이터베이스 서버에 연결하는 프로그램에 이 포트 범위를 사용합니다.
net.core.rmem_default
- TCP(Transmission Control Protocol)를 통해 기본 수신 소켓 메모리를 정의합니다.
net.core.rmem_max
- TCP(Transmission Control Protocol)를 통해 최대 수신 소켓 메모리를 정의합니다.
net.core.wmem_default
- TCP(Transmission Control Protocol)를 통해 기본 전송 소켓 메모리를 정의합니다.
net.core.wmem_max
- TCP(Transmission Control Protocol)를 통해 최대 전송 소켓 메모리를 정의합니다.
vm.dirty_bytes
/vm.dirty_ratio
-
write()
함수에서 더티 데이터를 생성하는 프로세스에 더티 가능한 메모리의 백분율로 임계값을 정의합니다.
한 번에 vm.dirty_bytes
또는 vm.dirty_ratio
를 지정할 수 있습니다.
vm.dirty_background_bytes
/vm.dirty_background_ratio
- 커널이 더티 데이터를 하드 디스크에 적극적으로 작성하려고 시도하는 더티 가능한 메모리의 백분율로 임계값을 정의합니다.
vm.dirty_background_bytes
또는 vm.dirty_background_ratio
중 하나를 지정할 수 있습니다.
vm.dirty_writeback_centisecs
더티 데이터를 하드 디스크에 작성하는 커널 스레드의 정기적인 워크업 사이에 시간 간격을 정의합니다.
이 커널 매개변수는 1초의 100번째로 측정합니다.
vm.dirty_expire_centisecs
하드 디스크에 쓸 오래된 더티 데이터의 시간을 정의합니다.
이 커널 매개변수는 1초의 100번째로 측정합니다.