Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 시스템은 커널 설정에 따라 다르지만 통상 메모리 사용량이 70% 를 넘을 경우 페이징이 발생하므로 페이징에 따른 성능저하를 예방하기 위해선 적어도 가상메모리 시스템의 페이징 기능을 운영합니다. 페이징은 성능저하를 유발하기 때문에 이를 예방하기 위해선 상시 30% 이상의 물리메모리 여유 공간을 확보하여 페이징 발생이 억제되도록 구성해야 합니다.

  • BSR 에서 사용하는 메모리는 Nonpaged Pool( 비페이징 되는 물리메모리)을 물리메모리를 기본으로 하며 Windows의 경우 BSR의 최대 사용 메모리는 쓰기 요청 회수의 설정값과 회수값과 송신버퍼의 크기에 따라 최대 사용 메모리가 결정됩니다.

    • 송신버퍼 없는 동기방식의 경우경우는

      • 쓰기 요청 기본 설정(1만)에서 1리소스 당 최대 1.5GB를 사용합니다.

      • 쓰기 요청 최대 설정(10만)에서 1리소스 당 최대 3GB를 사용합니다.

    • 송신버퍼 1GB 설정에서 비동기 방식의 경우경우는

      • 쓰기 요청 기본 설정에서 1리소스 당 최대 2.5GB를 사용합니다.

      • 쓰기 요청 최대 설정에서 1리소스 당 최대 4GB를 사용합니다.

예를 들어, 64GB의 물리메모리를 가진 서버의 경우 약 20GB(30%)의 메모리 여유공간이 필요하며 사용된 메모리 공간 중 BSR에서 사용하는 공간은 BSR은 비동기방식 기본설정에서 1 리소스당 최대 2.5GB가 요구됩니다5GB의 메모리 공간을 요구합니다.

페이징 발생을 억제하기 위한 30% 여유공간 확보가 불가한 환경에서는 페이징 발생에 따른 기본적인 I/O의 성능저하는 감수해야 하며 적어도 복제에서 필요로 하는 1 리소스 당 3~4GB NP 메모리 사용량은 여유공간으로 유지시켜 주어야 합니다. 그렇지 않을 경우 메모리 자원 부족에 따른 장애로 이어질 수 있습니다.

Info
  • 페이징이 발생하는 시점은 시스템의 메모리 용량, 플랫폼, OS 버전에 따라 달라질 수 있으며 위에서 설명한 70%는 통상의 수치 입니다.

  • 리눅스의 메모리 사용량은 윈도우즈에 비해 비슷하거나 덜 사용합니다.

...