iSCSI / NFS 성능이 매우 떨어지는 문제 해결 전략


9

3 개의 Windows 2008 R2 상자에 iSCSI 대상을 제공하고 하나의 OpenBSD 5.0 ​​상자에 NFS를 제공하는 새로운 Synology RS3412RPx가 있습니다.

ssh를 사용하여 RS3412에 로그인하고 dd 및 다양한 블록 크기를 사용하여 작은 파일과 6GB 파일을 모두 읽고 쓰는 것은 디스크 I / O 성능이 뛰어납니다.

iSCSI / NFS 클라이언트에서 dd 또는 iometer를 사용하면 최대 20Mbps에 도달합니다 (오타가 아닙니다. 20Mbps). 우리는 Synology의 여러 Gbit NIC를 더 잘 활용하기를 원했습니다.

스위치와 NIC 포트 구성이 자동 협상이 아닌 기가비트로 설정되어 있는지 확인했습니다. 우리는 점보 프레임을 사용하거나 사용하지 않고 시도했습니다. MTU가 현재 9000임을 ping으로 확인했습니다. 두 가지 펌웨어 업그레이드가 배포되었습니다.

스위치 문제를 배제하기 위해 iSCSI 대상과 이니시에이터를 직접 연결하려고하는데 다른 옵션은 무엇입니까?

wireshark / tcpdump를 분리하면 무엇을 찾아야합니까?


흐름 제어가 가능합니까? 어떤 종류의 스위치가 있습니까?
SpacemanSpiff

@SpacemanSpiff : 흐름 제어가 활성화되지 않았습니다. 차이가 날 것으로 기대하십니까? ZyXEL GS2200입니다.
Alex Holst

일종의 거친 백플레인이지만 그보다 더 나은 성능을 얻을 수 있습니다. 크로스 오버 케이블이 어떤 성능을 발휘하는지 궁금합니다.
SpacemanSpiff

답변:


4

여기서 일반적인 주제 인 것처럼 스위치의 흐름 제어 설정을 다시 살펴보십시오. 스위치에 이더넷 카운터 통계가있는 경우 스위치를보고 많은 수의 이더넷 PAUSE 프레임이 있는지 확인하십시오. 그렇다면 그것은 아마도 당신의 문제 일 것입니다. 일반적으로 스위치에서 QOS를 비활성화하면이 문제가 해결됩니다.


다른 모습을 보았습니다. 모든 인터페이스에서 흐름 제어가 비활성화되었고 PAUSE 카운터가 0이었습니다. 흐름 제어를 활성화하면 PAUSE 카운터가 패킷 수의 25 %를 차지합니다. 우리는 동일한 약한 성능을 보이지 않는 일부 하드웨어를 확인 했으므로 이제는 nic 드라이버를 업데이트하고 특정 nic를 더 유능한 것으로 교체하려고합니다. 스위치에서 QoS가 이미 비활성화되었습니다. 입력 해 주셔서 감사합니다.
Alex Holst

기꺼이 도와드립니다
joeqwerty

3

그런 흐름은 다양한 TCP 흐름 제어 방법이 제대로 작동하지 않음을 나타냅니다. 비스타 이후 Windows 버전과 통신하는 Linux 커널에서 일부 문제를 보았으며 이와 같은 처리량을 얻습니다. 일단 살펴보면 Wireshark에 꽤 잘 나타나는 경향이 있습니다.

최악의 가능성은 TCP 지연 ack이 완전히 손상되어 다음과 같은 트래픽 패턴이 표시된다는 것입니다.

packet
packet
[ack]
packet
packet
[ack]

NIC 드라이버 업데이트를 Windows 서버에 적용하여 문제를 해결했습니다. 일부 (브로드 콤) 서버와 함께 제공되는 스마트 NIC는 때때로 흥미로운 방식으로 실패 할 수 있으며 이는 하나입니다.

정상적인 트래픽 패턴은 많은 수의 패킷과 Ack 패킷이 뒤 따릅니다.

찾아야 할 또 다른 것은 긴 지연입니다. 의심스러운 값은 0.2 초와 1.0 초입니다. 이는 한쪽이 예상 한 것을 얻지 못하고 응답하기 전에 시간 초과가 만료되기를 기다리고 있음을 나타냅니다. 위의 잘못된 패킷 패턴을 ACK에 대한 200ms 지연과 결합하면 엄청난 1MB / s의 처리량을 얻을 수 있습니다.

이는 알기 쉬운 나쁜 교통 패턴입니다.

나는 그런 종류의 NAS 장치로 작업하지 않았으므로 발견 된 것을 고치는 것이 얼마나 조정 가능한지 모릅니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.