Strategia rozwiązywania problemów w przypadku bardzo niskiej wydajności iSCSI / NFS

9

Mamy nową Synology RS3412RPxs, która oferuje obiekty docelowe iSCSI do trzech urządzeń Windows 2008 R2 i NFS do jednego urządzenia OpenBSD 5.0.

Logowanie do RS3412 za pomocą ssh oraz odczytywanie / zapisywanie zarówno małych plików, jak i plików 6 GB za pomocą dd i różnych rozmiarów bloków pokazuje doskonałą wydajność I / O dysku.

Używając dd lub iometru na klientach iSCSI / NFS, osiągamy prędkość do 20 Mb / s (to nie jest literówka. Dwadzieścia Mb / s). Mieliśmy nadzieję, że lepiej wykorzystamy wiele kart sieciowych Gbit w Synology.

Zweryfikowałem przełącznik i konfiguracja portu karty sieciowej jest ustawiona na gigabit, a nie na automatyczną negocjację. Próbowaliśmy bez i bez Jumboframe. Za pomocą polecenia ping sprawdziłem, że MTU wynosi obecnie 9000. Wdrożono dwie aktualizacje oprogramowania układowego.

Mam zamiar wypróbować bezpośrednie połączenie między celem iSCSI a inicjatorem, aby wykluczyć problemy z przełączaniem, ale jakie są moje inne opcje?

Jeśli wybiję wireshark / tcpdump, czego szukam?

Alex Holst
źródło
Czy kontrola przepływu jest włączona? Jakiego rodzaju przełączenie jest pomiędzy?
SpacemanSpiff,
@SpacemanSpiff: Kontrola przepływu nie jest włączona. Czy spodziewałbyś się, że to coś zmieni? To ZyXEL GS2200.
Alex Holst
Coś w rodzaju cienkiej płyty montażowej, ale wystarczającej, aby uzyskać lepszą wydajność. Ciekawe, co kabel crossover zapewnia pod względem wydajności.
SpacemanSpiff,

Odpowiedzi:

4

Jak się wydaje, jest to wspólny motyw tutaj, spójrz ponownie na ustawienia kontroli przepływu na przełączniku (przełącznikach). Jeśli przełączniki mają statystyki liczników Ethernet, spójrz na nie i sprawdź, czy istnieje duża liczba ramek Ethernet PAUSE. Jeśli tak, to prawdopodobnie twój problem. Ogólnie rzecz biorąc, wyłączenie QOS na przełączniku (ach) rozwiązuje ten problem.

joeqwerty
źródło
Spojrzałem jeszcze raz. Kontrola przepływu została wyłączona, a liczniki PAUZY były zerowe na wszystkich interfejsach. Włączenie kontroli przepływu sprawiło, że liczniki PAUZY wystrzeliły o 25% liczby pakietów. Zidentyfikowaliśmy sprzęt, który nie wykazuje takiej samej słabej wydajności, dlatego teraz chcemy zaktualizować ładne sterowniki i zastąpić niektóre karty sieciowe bardziej wydajnymi. QoS został już wyłączony na przełączniku. Dzięki za wkład.
Alex Holst,
Cieszę się, że
mogę
3

Takie przepływy sugerują mi, że różne metody kontroli przepływu TCP nie działają poprawnie. Widziałem pewne problemy z jądrami Linuksa rozmawiającymi z wersjami Windows po wersji Vista i masz taką przepustowość. Zwykle pokazują się całkiem dobrze w Wireshark, gdy spojrzysz.

Absolutnie najgorszą możliwością jest to, że opóźnione potwierdzenie TCP jest całkowicie zepsute i zobaczysz wzorzec ruchu, który wygląda następująco:

packet
packet
[ack]
packet
packet
[ack]

Rozwiązałem ten problem, stosując aktualizacje sterowników karty sieciowej do serwerów Windows. Inteligentne karty sieciowe, które są dostarczane z niektórymi serwerami (broadcom), mogą czasami zawieść w interesujący sposób, i to jest jeden.

Normalny wzorzec ruchu to duża liczba pakietów, po których następuje pakiet Ack.

Inną rzeczą, której należy szukać, są duże opóźnienia. Podejrzane wartości to 0,2 sekundy i 1,0 sekundy. To sugeruje, że jedna strona nie otrzymuje tego, czego się spodziewa, i czeka na upłynięcie limitu czasu przed odpowiedzią. Połącz powyższy wzorzec nieprawidłowego pakietu z opóźnieniem 200 ms dla ACK, a uzyskasz przepustowość sięgającą 1 MB / s.

Są to łatwe do zauważenia złe wzorce ruchu.

Nie pracowałem z tego rodzaju urządzeniem NAS, więc nie wiem, jak można poprawić wszystko, co zostanie znalezione.

sysadmin1138
źródło