...
시스템은 커널 설정에 따라 다르지만 통상 메모리 사용량이 70% 를 넘을 경우 페이징이 발생하므로 페이징에 따른 성능저하를 예방하기 위해선 적어도 30% 이상의 물리메모리 여유 공간을 확보하여 페이징 발생이 억제되도록 구성해야 합니다.
BSR 에서 사용하는 메모리는 Nonpaged Pool(비페이징 되는 물리메모리)을 기본으로 하며 Windows의 경우 BSR의 최대 사용 메모리는 쓰기 요청 회수의 설정값과 송신버퍼의 크기에 따라 결정됩니다.
송신버퍼 없는 동기방식의 경우
쓰기 요청 기본 설정(1만)에서 1리소스 당 최대 1.5GB NonPaged Pool을 5GB를 사용합니다.
쓰기 요청 최대 설정(10만)에서 1리소스 당 최대 3GB NonPaged Pool을 3GB를 사용합니다.
송신버퍼 1GB 설정에서 비동기 방식의 경우
쓰기 요청 기본 설정에서 1리소스 당 최대 2.5GB NonPaged Pool을 5GB를 사용합니다.
쓰기 요청 최대 설정에서 1리소스 당 최대 4GB NonPaged Pool을 4GB를 사용합니다.
예를 들어, 64GB의 물리메모리를 가진 서버의 경우 약 20GB(30%)의 메모리 여유공간이 필요하며 사용된 메모리 공간 중 BSR에서 사용하는 공간은 비동기방식 기본설정에서 1 리소스당 최대 2.5GB가 요구됩니다.
페이징 발생을 억제하기 위한 30% 여유공간 확보가 불가하다면 불가한 환경에서는 페이징 발생에 따른 기본적인 I/O의 성능저하를 성능저하는 감수해야 하며 , 적어도 복제에서 필요로 하는 1 리소스 당 3~4GB NP 메모리 사용량은 여유공간으로 유지시켜 주어야 합니다.
Info |
---|
|
Info |
---|
최근 가상화 환경에서 VM 을 통한 복제 구성이 보편화 되어 가고 있습니다. 이런 환경의 특징은 개별 VM에 할당된 CPU 나 메모리 자원이 충분하게 할당 되지는 않는 다는 점 입니다. 예를 들어 개별 VM이 2core, 2~4GB 메모리로 구성될 경우 bsr 의 최소 구성사양에 충족되지 못할 수 있습니다. 이렇게 저사양의 VM 으로 복제 환경이 구성될 경우 bsr 엔진 내부의 성능 지연과 노드 간의 네트워크 keep alive(ping) 지연이 빈번하게 발생될 가능성이 높아집니다. 기본적인 동작에는 문제가 없지만 I/O 부하가 커지거나 시스템의 HW 계층의 인터럽트 발생빈도가 높아지게 되면 VM 전반의 성능이 하락되고 그에 따라 bsr 도 동작에 영향을 받게 됩니다. 결론적으로 저 사양의 VM 에서 복제 환경을 구축하는 것에는 제약이 따른다는 것 입니다. 이 문제에 대응할 방법은 시스템 구성 자원을 넉넉하게 확보하는 방법 이외에는 별다른 해결책이 없습니다. |
...