...
FSR 의 최적화는 로컬 쓰기 I//O 지연시간과 복제 트래픽 처리량 두 가지 측면에서 설명합니다.
지연시간
로컬 쓰기 I/O 가 발행되어 디스크에 쓰여진 후 완료 되기 까지 소요된 시간을 응답시간 또는 지연시간(Latency)으로 정의합니다. 지연시간이 작을 수록 성능이 좋습니다.
FSR 은 시스템 상에 커널 필터 드라이버를 적재하여 로컬의 실시간 I/O 를 캡쳐 합니다. 이 점에서 볼 때 로컬 쓰기 I/O O의 전체 지연시간은 시스템의 순수한 성능지연에 따른 지연시간과 FSR 커널 엔진이 적재되어 동작함에 따라 발생하는 추가 지연시간 두 부분을 구분합니다. 따라서 로컬 쓰기 I/O 의 총 지연시간은 시스템 지연시간과 FSR 커널엔진의 지연시간의 합으로 구해지며 FSR 커널엔진 부분으로 구분할 수 있습니다. 이 중 FSR 커널엔진의 지연은 경로필터 탐색, 송신버퍼링 지연 등 엔진 내부에서 발생하는 지연으로 나눌 수 있습니다. 결국 이 지연요소들의 병목에 해당합니다. 이 요소들의 지연시간(Latency)을 최소화 할 때 최적의 성능을 도출할 수 있습니다.
- 시스템의 순수 시스템 지연 시간
- FSR 커널 엔진 지연 시간
- 경로필터 탐색 시간
- 송신 버퍼링을 위한 지연 시간
...
단위 시간 당 전송할 수 있는 데이터 양을 처리량으로 정의하며 실시간 복제를 유지하기 위해서는 적어도 로컬 I/O 부하보다 FSR 의 처리량 성능이 좋아야 합니다. 만약 로컬 I/O 부하에 비해 복제 처리량이 낮으면 버퍼 넘침이 유발되어 재동기화 상태가 반복되는 등 복제 상태가 유지되지 못할 수 있습니다. 이를 위해 다음의 내용들이 충족될 수 있도록 고려해야 합니다.
...
하드웨어
지연성능이 허드웨어의 사양이 좋을 수록 처리량은 좋아집니다. 이를 위해 기본적으로 CPU, 메모리, 하드디스크 등 좋은 I/O 서브시스템을 갖추어야 하며 FSR 엔진에 송신버퍼링을 위한 메모리 자원을 충분히 할당하는 것이 좋습니다.
...
데이터를 전송하는 네트워크 전송대역에는 한도가 있기 때문에 처리량은 네트워크 전송대역 내에서 처리됩니다. 따라서 전송 대역을 최대한 크게 확보할 필요가 있으며 복제 구축 과정에서 복제 대역을 산정하기 위한 확보하는 게 유리하지만 적어도 로컬에서 발생하는 쓰기 I/O 의 부하량을 미리 파악하여 복제 대역을 미리 추산하여 네트워크 대역을 산정하는 것이 일반적입니다. 복제 대역을 산정 하려면 로컬 시스템의 쓰기 I/O 에 대한 모니터링을 필요로 수행해야 합니다. 예를 들어 로컬 시스템의 평균 쓰기 I/O 가 200MB/s 라고 하면 복제를 위해서 적어도 10Gbps 네트워크 망이 구축되어야 합니다.
...
복제 데이터를 압축하여 전송하면 처리량을 개선할 수 있습니다. 데이터 크기를 압축하여 전송에 따르는 소요시간을 줄이는 것은 처리량을 개선하는 가장 고전적인 접근 방법입니다.