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