MPIO로 어떤 처리량을 기대해야합니까?


12

2 개의 1Gbps NIC가있는 Dell PowerEdge 2950은 스위치의 2 개의 1Gbps 포트로 연결되며, 1 개의 가상 인터페이스로 존재하는 4 개의 1Gbps NIC가있는 NetApp로 연결됩니다. 24 개 드라이브, 7200k SATA, NetApp RAID-DP Microsoft iSCSI 초 기자에서 MPIO를 사용하여 각 호스트 NIC를 NetApp에 ​​매핑했습니다. SQLIO를 사용한 테스트의 쓰기 처리량은 약 200MB로 합리적이지만 읽기는 100MB에 가깝습니다.

내 읽기와 마찬가지로 읽기가 200MB에 가까워 야하지 않습니까? 구성 문제입니까, 아니면 이해할 수없는 근본적인 저장소 문제가 있습니까?

여기에 이미지 설명을 입력하십시오

업데이트 : 랜덤 워크로드에 대한 IOPS는 다음과 같습니다. 그러나 읽기는 의미가 있지만 쓰기를 위해 20000을 무엇으로 만들지 잘 모르겠습니다. SAN 캐시는 3.2GB입니다. SQLIO 테스트는 25GB 파일에 대한 것입니다.

여기에 이미지 설명을 입력하십시오


3
NetApp 디바이스의 캐시는 무엇입니까? 일부 메트릭을 가져올 수있는 SAN 관리자가 있습니까? NetApp에 ​​보고서와 경고 로그의 조합으로 몇 가지 문제를 식별 할 수있었습니다. 궁극적으로 우리의 상황은 잘못된 광섬유 카드 였지만 NetApp 지원은 근본 원인을 찾는 데 큰 도움이되었습니다.
swasheck

2
디스크가 올바르게 사용되고 있는지 확인하기 위해 집계 및 볼륨 구성을 조사해 보는 것이 좋습니다. NetApp 전문가가 몇 명인지 확실하지 않지만 구성을 게시 할 수 있습니다. 쓰기가 디스크에 푸시되기 전에 파일러에서 캐시 될 수 있지만 읽기가 이미 캐시에 있지 않으면 디스크에 도달해야하기 때문에 쓰기가 읽기보다 빠릅니다.
Nathan Jolly

2
@mrdenny이 "64k 블록에서 IO의 99 %"개념은 어디에서 발생합니까? Bob Dorr는 Wes Brown 과 마찬가지로 달리 표시합니다 . 이 두 가지 포괄적 인 기사를 무시하더라도 8K 페이지 크기를 사용하는 플랫폼에서 8K IO를 보게 될 것입니다.
Mark Storey-Smith

2
@mrdenny Mine은 반드시 지원을 중단해야합니까? 프로세스 모니터를 사용하여 데이터 파일 IO 활동을보고 여기에 앉아 있으며 예상되는 64K 읽기가 풍부하지만 다른 8K 다중 읽기와 8k 쓰기가 많이 있습니다. 예상대로 로그 활동은 단일 512 바이트 쓰기에서 60k까지 512 바이트 배수입니다.
Mark Storey-Smith

2
@ MarkStorey-Smith 내 경험상 8k의 읽기는 일반적으로 조각화와 관련이 있습니다. 또한 페이지를 제거하는 스캔으로 인한 페이지 수명이 짧다는 메모리 휴지통 표시를 나타낼 수 있습니다 (즉, 대부분의 범위는 여전히 메모리에 있음). 잘 조정 된 시스템은 64k 읽기를 표시해야합니다. 물론 글은 실제로 더러워진 것에 달려 있습니다.
Remus Rusanu

답변:


7

디스크 쓰기는 실제로 파일러의 메모리 (NVRAM)로 가고 나중에 디스크로 플러시됩니다. 유휴 파일러에서는 매우 빠르며 20,000의 iops는 상당히 믿을 수 있습니다 (대부분의 SSD에서 비슷한 속도를 볼 수 있습니다) .

반면에 읽기는 파일러의 읽기 캐시 (쓰기와 달리 휘발성 메모리에 있음)에 있지 않은 경우 디스크에서 가져와야합니다.

디스크 회전을 위해 스토리지 공급 업체를 iops에 고정시키기는 어렵지만 7200RPM 드라이브의 경우 80-120 iops가 매우 믿을 수 있습니다. NetApp의 RAID-DP 및 / 또는 스페어에 대한 두 개의 디스크를 잃어버린 것을 고려할 때 2,200 개의 iops는 각각 약 100 개의 iops를 수행하는 22 개의 디스크에서 기대할 수있는 수준에 가깝습니다.

이것은 읽기 속도를 설명하지 못할 수도 있지만 (순차적 읽기를 수행 할 때 디스크가 2200 iops를 완전히 수행하지 못할 수도 있음) 적어도 쓰기 성능을 설명하는 데 도움이 될 수 있습니다.


고마워 네이선 두 개의 NIC와 MPIO로 처리량이 두 배가되어야합니까?
Henry Lee

1
순차 읽기 테스트를 실행하는 동안 파일러의 사용률을 확인할 수 있습니까? 100 %에 도달하면 해당 파일에 대한 병목 현상이 파일러에있을 수 있으며 (각 디스크의 구성 또는 iops 제한으로 인해) MPIO / 추가 MPIO 연결은 아무 것도 추가하지 않습니다. 쓰기 처리량이 더 증가 할 수 있습니다.
Nathan Jolly

5

후손을 위해 많은 시행 착오 끝에 예상 처리량을 얻는 방법을 알아 냈습니다.

위에서 언급 한 것처럼 NetApp에는 4 개의 물리적 NIC가 지원하는 하나의 가상 인터페이스가있었습니다. 호스트에는 두 개의 NIC가 있으며 각 NIC에서 하나의 가상 인터페이스로의 경로가 있도록 MS iSCSI 초기자를 통해 MPIO를 구성했습니다. 결과는 위의 처리량이었습니다. 쓰기는 200MB에 가깝거나 두 개의 NIC 속도에 해당하지만 읽기는 그 절반의 속도 또는 하나의 NIC 속도입니다.

면밀히 조사한 결과, SAN 담당자는 트래픽이 실제 NIC 중 하나를 통해서만 전송되고 있음을 확인했습니다. 결국 구성 오류가 있는지 확실하지 않지만 두 가지 시도가 있었고 처리량을 얻었습니다. 하나는 4 개의 NIC가 지원하는 1 개의 가상 인터페이스에서 2 개의 가상 인터페이스가있는 2 개의 가상 인터페이스로 변경하는 것이 었습니다. 그런 다음 하나의 호스트 NIC를 하나의 가상 인터페이스에 매핑하십시오. 우리가 시도한 다른 것은 SAN 측에서 "별칭"을 사용하여 여러 가상 인터페이스를 제시하는 것이 었습니다. (나는 SAN 사람이 아니기 때문에 나는 그것을 올바르게 말했다.)

테이크 아웃은 하나 이상의 인터페이스를 제공하기 위해 SAN이 필요했기 때문에 초기자가 실제로 여러 경로를 보았습니다. 처리량은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오


왜 작은 쓰기가 더 느려 집니까?
잭 topanswers.xyz 시도라고

확실하지 않습니다. 아직 알아낼 ​​수 없었습니다. 알아 내면 다시 게시하겠습니다.
Henry Lee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.