|
같은
RAID 구성이라도 컨트롤러 환경에 따라 성능이 달라지나?
앞장에서는 각 RAID 규격별로 어느 정도의 성능 차이가 나는지를
살펴보았다. 하지만 모든 RAID 컨트롤러에서 같은 결과가 나타날까? Adaptec ASR-3405는 앞에서 필자가 설명했지만 RAID에 관련된
작업들을 컨트롤러 카드에 달린 XOR 프로세서와 캐시 메모리의 도움으로 처리하므로 시스템의 영향력이 적으며 RAID 1과 같은 구성에서 이득을
볼 수 있다. 하지만 메인보드에 내장된 RAID 컨트롤러나 보급형 RAID 컨트롤러 카드는
이런 작업을 시스템에서 맡아야 하므로 같은 RAID 구성이라도 성능이 달라질 수 있다.
|
항목 |
PCI
(32bit) |
PCI-X
(64bit, 133) |
PCI Express
x4 |
ICH9R |
|
대역폭 |
132MB/s |
1060MB/s |
1000MB/s |
SATA 채널마다
300MB/s |
|
클럭 |
33MHz |
133MHz |
2.5GHz |
|
133MHz로 동작하는 64bit PCI-X 인터페이스는 PCI
Express x4 인터페이스와 거의 같은 대역폭을 가지고 있으며, 일반 PCI 슬롯(32bit)의 경우 대역폭이 132MB/s에 불과하여
SATA II 인터페이스의 300MB/s를 충족시키지 못하는데다, 다른 PCI 확장 카드를 사용할 경우 대역폭이 더 줄어들 수도 있어 성능
하락이 클 것이다.
앞에서 PCI Express x4 인터페이스로 동작하지 못한 ASR-3405가
IO Meter 테스트에서 보여준 대역폭 제한을 기억한다면, Adaptec ASR-3405에서 250MB/s 이하로 나왔던 전송률이 사실은
PCI Express x1로 동작했기 때문이라는 것을 알 수 있다.
Intel
ICH9R / Adaptec ASR-3405 / Coyote SATA II RAID 4ch(PCI) 성능 비교
우선 HD Tune 2.54 테스트에서는 각 RAID별 차이를
가장 뚜렷하게 보여줄 수 있는 평균 전송률을 기준으로 비교를 실시했다.
그런데, 인텔 ICH9R의 경우 RAID 0x4와 0x3, 그리고
RAID 5x4 모드에서 전송률이 굉장히 높게 기록되면서 결과가 이상해졌다. ICH9R은 최저/최고/평균 전송률 모두 20000MB/s를 넘어서는
것으로 측정되었으며, 거꾸로 액세스 타임은 측정하지 못하는 현상이 나타났다. 하지만 RAID 0x2나 RAID 5x3 모드의
결과는 정상적으로 나와서 일단 그래프에는 결과값만 기록하고 그래프 비율에는 반영하지 않았다.
(평균 전송률(Average Transfer Rate), 그래프가 길수록 좋음)
HD Tune 2.54의 평균 전송률을 비교해보면 ICH9R의 RAID 0x4, 0x3, 5x4를 제외하고 각 RAID
컨트롤러별로 성능 차이가 있었다. 인텔 ICH9R과 Adaptec ASR-3405는 RAID 10x4, RAID 1x2를 비교했을 때 하드웨어 XOR 프로세서와 캐시 메모리를 가진 Adaptec ASR-3405
쪽의 결과가 더
높았다. RAID 0는 역시나 PCI Express x1으로 동작하고 있는 ASR-3405에서 제 성능을 보여주지 못했다.
문제가 된 것은
32bit PCI 슬롯을 사용한 코요테(Coyote) SATA II RAID 4ch 컨트롤러 카드인데, 이 제품은 PCI-X 인터페이스까지
지원하지만 일반 데스크탑 메인보드에서 지원하는 32bit PCI 슬롯에 장착할 경우 PCI 대역폭의 제한으로 RAID 0x2 성능조차 제대로
나타나지 않았다. PCI용 RAID 컨트롤러 카드는 모든 RAID에서 87MB/s 이상의 성능을 보여주지 못했다.
(Adaptec ASR-3405의 RAID 5x3 모드의 결과)
(Coyote SATA II RAID의 32bit PCI 인터페이스 RAID 5x3 모드의 결과)
또한 RAID 5x4를 설정하면 윈도우에 들어갈 수도 없어
RAID 5x3 모드까지만 가능했다. Parity 정보를 스트라이핑 하드에 계속 저장해야 하는 RAID 5 모드는 모든 과정을 부족한 32bit
PCI 인터페이스에서 처리해야 하는 Coyote SATA II RAID 컨트롤러의 성능이 크게 하락했다. 위의 HD Tune 2.54 결과를
비교해보면 Transfer Rate, Burst Rate 모두 낮은 상태로 RAID 5가 제대로 동작하지 못해 CPU도 제대로 사용하지 못하는
것으로 나타난다.
(그래프가 길수록 좋음)
IO Meter 테스트에서는 인터페이스 대역폭의 한계가 고스란히
나타났는데, ICH9R의 경우 스트라이핑으로 성능이 계속 증가하는 RAID 0를 놓고 보면 싱글 드라이브일 때와 2개, 3개, 4개의 하드를
RAID 0로 구성했을 때 초당 총 I/O 결과가 일정하게 증가하고 있지만, Adaptec ASR-3405는 약 5800, 32bit PCI
슬롯에 장착한 Coyote SATA II RAID는 2500 미만으로 고정되는 결과를 보여주었다. RAID 0x2 모드의 정상적인 초당 총
I/O 값이 ICH9R/ASR-3405 모두 4800대인 것을 감안하면 PCI 인터페이스는 절반의 성능만 보여준 셈이다.
(그래프가 길수록 좋음)
IO Meter의 초당 총 MB 테스트 결과도 마찬가지로 대역폭
문제가 전혀 없었던 인텔 ICH9R는 RAID 구성별로 확실한 결과 차이를 보였지만, PCI Express x1로 동작하는 Adaptec ASR-3405와
PCI로 동작하는 Coyote SATA II
RAID는 일정한 한계에 이르러서는 더 이상 결과가 올라가지 않았다.
실제
파일 전송 테스트의 결과는?
앞에서 살펴본 HD Tune과 IO Meter의 결과값는 각
RAID 컨트롤러별 이론상 최대 성능을 비교한 것이라서 최대 대역폭까지 사용하지 않는 일반적인 상황에서의 파일 복사 시간 테스트는 RAID
컨트롤러별 성능을 파악하는데 도움이 될 것이다. 외부 하드에 영향을 받는 외부 전송은 시간이 대부분 비슷했기 때문에 생략하고, 컨트롤러의 성능 차이를
파악할 수 있는 내부 전송 테스트 결과만을 비교했다.
테스트 방식은 동일하게 4.32GB 용량의 이미지 파일 하나와
3.42GB 용량의 폴더와 파일들을 내부의 다른 폴더로 복사하는데 걸린 시간을 각각 측정했는데, 이번에는 RAID 규격별 순서 대신 전체 테스트
가운데 가장 빠른 결과를 보여준 순서대로 그래프를 만들었다.
(파일 복사에 걸린 시간(초), 그래프가 짧을수록 좋음)
내부 전송 테스트에 걸린 시간을 비교한 결과 Adaptec
ASR-3405의 RAID 0x4 모드가 가장 빠른 시간 안에 복사를 끝냈으며, 인텔 ICH9R의 RAID 0x4가 1초 차이로 그 뒤를
이었다. RAID 0x3 구성은 인텔과 순위가 바뀌었으나, 그 뒤를 이어 XOR 프로세서와 캐시 메모리로 무장한 Adaptec ASR-3405가
RAID 5x4, 10x4 모드로 RAID 0x3 구성에 근접하는 성능을 보인 반면 인텔 ICH9R은 RAID 5 성능이 크게 낮은 것으로
나타났다.
예전에 인텔 Core 2 Duo 시스템에서 RAID 5 성능이
떨어진다는 뉴스가 나온 적이 있었는데, RAID 5 동작의 핵심이라고 할 수 있는 XOR 연산을 Adaptec ASR-3405는 전용 프로세서를
달아서 해결하고 있지만 인텔 ICH9R의 경우 CPU에서 담당하기 때문에 나타난 결과가 아닌가 생각된다. 물론 XOR 프로세서가 없는 또 하나의
PCI 슬롯에 장착한 Coyote SATA II RAID는 가장 낮은 성능으로 꼴찌였다. 32bit PCI 인터페이스의 대역폭
때문에 RAID 0의 모든 구성도 경쟁 컨트롤러들의 RAID 0x2를 넘어서지 못했다.
(초당 파일 전송률(MB/s) 결과, 그래프가 길수록 좋음)
앞에서 나온 파일 복사 시간을 토대로 초당 데이터 전송률로 바꿔본
결과 XOR 프로세서가 필요 없는 스트라이핑 모드(RAID 0)는 Adaptec ASR-3405와 인텔 ICH9R의 성능이 거의 비슷하게
나왔으나, XOR 연산이 개입되는 RAID 5 모드에서 확연한 성능 차이를 보이고 있다.
ASR-3405가 RAID 5x4에서 초당 전송률이
86.4MB/s, 61.1MB/s였던 것과 달리 ICH9R은 15.7MB/s, 11.2MB/s로 매우 낮았으며 특히 3개의 하드보다 4개의
하드를 RAID 5로 구성했을 때의 성능이 더 떨어지고 있다. 그 외에도 RAID 1, 10과 같이 미러링이 적용된 결과도 ICH9R보다
ASR-3405가 높았는데, 컨트롤러 자체에서 미러링을 처리해 결과가 더 높아지지 않았나 생각된다.
32bit PCI 인터페이스로 테스트한 Coyote SATA II
RAID 컨트롤러는 RAID 0 구성에서 모두 44MB/s의 전송률을 기록해 인터페이스 제약으로 모처럼 스트라이핑 구성이 쓸모가 없어졌음을
확인할 수 있었다.
이론과
실제 성능이 다른 이유는 읽기가 아니라 쓰기 때문이다
그렇다면 왜 RAID 5에서 Adaptec ASR-3405는 멀쩡한데 인텔
ICH9R과 Coyote SATA II RAID 컨트롤러의 성능만 낮아진 것일까? IO Meter의 전송률을 읽기가 아니라 쓰기 테스트를
기준으로 구성하면 왜 인텔 ICH9R과 Coyote SATA II RAID 컨트롤러의 RAID 5 성능이 떨어졌는지 그 이유를 알 수 있다.
(IO Meter 전송률 테스트 / 그래프가 길수록 좋음)
2 페이지의 RAID 규격 설명에서 언급했지만 RAID 5처럼
XOR 연산으로 패리티 정보를 따로 저장하는 작업을 데이터 쓰기와 함께 처리해야 하는 규격은 단순히 쓰기를 하는 스트라이핑이나 미러링보다 쓰기
속도가 떨어진다.
Adaptec ASR-3405는 XOR 연산을 처리해주는
프로세서를 내장해 쓰기 성능 저하를 최대한 줄여 RAID 10x4보다 성능이 좋지만, XOR 연산을 시스템에서 처리하게 된 ICH9R과 PCI
RAID 컨트롤러는 이미 작업이 끝난 데이터를 읽어오는 성능은 그대로지만 쓰기 성능이 매우 낮아진 것을 확인할 수 있다.
|