12.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_back Cryostat_bytes 또는 vm.dirty_back Background_ratio 를 한 번에 지정할 수 있습니다.
vm.dirty_writeback_centisecs하드 디스크에 더티 데이터를 쓰는 커널 스레드의 주기적인 레이닝 사이의 시간 간격을 정의합니다.
이 커널 매개 변수는 1초의 100번째로 측정합니다.
vm.dirty_expire_centisecs하드 디스크에 쓸 오래된 더티 데이터의 시간을 정의합니다.
이 커널 매개 변수는 1초의 100번째로 측정합니다.