Versions Compared

Key

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

...

위 에서 설명한 바와 같이 처리 속도를 추정하기 위해 I/O 서브시스템과 네트워크 대역폭에 대해 고려하여 추정합니다.

이론적으로는 두 요소의 요소 각각의 최대값 중에서 최소값을 작은값을 최대 처리 속도로 추정할 수 있으며, 이 값에 오버헤드를 약 3% 정도로 가정해서 추산합니다.

...

처리량 최적화 튜닝

bsr의 성능에 영향을 줄 수 있는 몇 가지 구성 옵션 들 중 몇 가지 권장할 만한 사항들을 소개합니다. 하지만 성능은 하드웨어에 크게 좌우되기 때문에 여기서 설명한 옵션들을 조정한 효과는 시스템마다 다를 수 있습니다. 따라서 이러한 권장사항들이 모든 성능 병목을 해결해주는 절대적인 요소는 아닙니다.

max-req-

...

write-

...

count

Primary 노드의 I/O request 버퍼 큐(req-buf)의 최대 크기를 지정합니다. 이 버퍼는 로컬 디스크로 I/O 가 발생되면 해당 I/O 를 1차적으로 큐잉하기 위한 장소로서 TCP 송신버퍼로 I/O Request 가 넘겨지기 이전 시점에 1차 버퍼링을 위한 용도로 사용됩니다.

...

I/O 서브시스템의 수행 시간은 주로 디스크의 회전속도(RPM)에 의해 정해집니다. 따라서 RPM이 더 빠른 디스크를 사용하는 것이 수행 시간을 개선할 수 있는 올바른 접근 방법입니다.요즘은 SSD 저장장치를 많이 사용하므로 fixed 타입의 하드디스크의 사용은 많이 줄어 들었지만 RPM 이 높은 디스크를 사용해야 하는 것은 좋은 성능을 위한 필수 조건 입니다. 마찬가지로 배터리 장착 쓰기 캐시(battery-backed write cache-BBWC)를 사용하는 경우도 쓰기시간을 줄일 수 있습니다. 최근 대부분의 스토리지 장비에서는 이런 캐시가 장착되어 있고 읽기 쓰기 캐시 비율을 관리자가 설정할 수 있습니다. 쓰기 I/O의 성능을 높이려면 읽기 캐시를 없애고 쓰기 캐시에 모두 사용할 것을 권장합니다.

...

  • TcpAckFrequency(REG_DWORD) = 1

Info

리눅스는 리눅스의 TCP 지연ACK 속성은 OS 기본값을 사용합니다.

가속 버퍼

bsr 은 비동기 복제에서 로컬 I/O 의 완료를 빠르게 처리하기 위해 가속버퍼(accelbuf)를 통한 2중 버퍼링을 구현합니다.(1.7 이상) 이 가속버퍼는 로컬 I/O의 지연을 최소화 하고 특히 4KB 이하의 I/O 에 대한 지연을 최적화 합니다. 4KB 이하의 로컬 I/O 가 빈번하게 발생하는 환경일 경우 가속버퍼를 통해 I/O 지연을 완화시킬 수 있습니다통한 최적화 구성을 권장합니다.

가속버퍼의 크기는 기본 10MB 이며 최대 2GB 까지 지정할 수 있습니다.

...