Szukam pomocy w tym, co na pewno jest odwiecznym pytaniem. Znalazłem się w sytuacji pragnienia lepszego zrozumienia przepustowości sieci, ale wydaje mi się, że nie mogę znaleźć informacji, dzięki której kliknięcie
Mamy kilka serwerów rozproszonych geograficznie, obsługujących różne wersje systemu Windows. Zakładając, że zawsze używamy jednego hosta (komputera stacjonarnego) jako źródła, podczas kopiowania danych z tego hosta na inne serwery w całym kraju, widzimy dużą zmienność prędkości. W niektórych przypadkach możemy konsekwentnie kopiować dane z prędkością 12 MB / s, w innych widzimy 0,8 MB / s. Należy zauważyć, że po przetestowaniu 8 miejsc docelowych zawsze wydajemy się mieć albo 0,6-0,8 MB / s, albo 11-12 MB / s. W budynku, który nas interesuje, mamy połączenie OC-3 z naszym dostawcą usług internetowych.
Wiem, że w grę wchodzi wiele zmiennych, ale sądzę, że miałem nadzieję, że eksperci tutaj pomogą mi odpowiedzieć na kilka podstawowych pytań, które pomogą zwiększyć moje zrozumienie.
1.) Czy w przypadku starszych komputerów z systemem Windows XP, serwerem 2003 itp. Z kartą Ethernet 100 Mb / s i typowym opóźnieniem 72 ms, 0,8 MB / s brzmi w ogóle rozsądnie? A może uważasz, że jest wystarczająco wolny, aby wskazać problem?
2.) Klasyczna „matematycznie najszybsza prędkość” „przepustowości = okno TCP / opóźnienie” jest w naszym przypadku obliczana na 0,8 MB / s (64 KB / 72 ms). Rozumiem, że to górne granice; którego nigdy nie spodziewałbyś się osiągnąć (ze względu na obciążenie), nie mówiąc już o przekroczeniu tej prędkości. W niektórych przypadkach obserwujemy prędkość 12,3 MB / s. Istnieją akceleratory Steelhead rozrzucone po sieci, czy mogą one uwzględniać tak wysoką prędkość transferu?
3.) Zasugerowano, że użycie SMB vs. SMB2 może wyjaśnić różnice prędkości. Rzeczywiście, zgodnie z oczekiwaniami, przechwytywanie pakietów pokazuje, że oba są używane w zależności od wersji systemu operacyjnego w grze, zgodnie z oczekiwaniami. Rozumiem, co decyduje o tym, czy SMB2 jest używane, czy nie, ale jestem ciekawy, jakiego wzrostu wydajności można się spodziewać po SMB2.
Moim problemem jest po prostu brak doświadczenia, a co ważniejsze, perspektywa, jeśli chodzi o to, jakie są i nie są rozsądne prędkości sieci. Czy ktokolwiek mógłby pomóc przekazać kontekst / perspektywę?
Odpowiedzi:
Wzór matematyczny, do którego się odwołujesz, jest w rzeczywistości sposobem na określenie najbardziej efektywnych ustawień rozmiaru okna transmisji dla TCP, a nie rzeczywistej dostępnej przepustowości. TCP wykorzystuje mechanizm zwany przesuwanymi oknami, który pozwala na dostosowanie prędkości transmisji w zależności od warunków sieciowych. Chodzi o to, że nadajnik TCP będzie wysyłać coraz więcej danych bez konieczności potwierdzenia przez odbiornik. W przypadku utraty danych ilość danych przesyłanych między potwierdzeniami zmniejsza się, zmniejszając tym samym efektywną szerokość pasma.
Omawiana formuła faktycznie określa idealny rozmiar tego okna transmisji TCP w oparciu o opóźnienie i opóźnienie w obie strony między daną parą hostów. Chodzi o to, aby okno miało taki rozmiar, aby ilość danych „w locie” odpowiadała tak zwanemu produktowi opóźnienia przepustowości. Na przykład, jeśli masz 50 megabitów na sekundę (6,25 megabajta) i średnie opóźnienie w obie strony 100 ms, to masz 6,25 * 0,1 = 625 kilobajtów danych. To byłaby wartość, którą TCP negocjowałby (jeśli byłby poprawnie skonfigurowany). Ponieważ charakterystyka opóźnień i przepustowości łączy jest różna, zmienia się również rozmiar okna.
To, czego potrzebujesz, to narzędzie do zarządzania przepustowością, takie jak iperf (bezpłatne), działające zarówno na źródle, jak i różnych miejscach docelowych. Powinno to dać ci wyobrażenie o możliwej rzeczywistej przepustowości (niezależnie od innych aplikacji), a jednocześnie dać wgląd w opóźnienia. Uruchomienie rozszerzonego polecenia ping między hostami zapewni także ogólne wyobrażenie o charakterystyce opóźnień. Gdy będziesz mieć te dane, będziesz mieć lepsze pojęcie o tym, co powinieneś zobaczyć, jeśli chodzi o przepustowość.
BTW - Użycie dowolnego rodzaju optymalizatora LAN często obejmuje kompresję danych, optymalizację TCP, buforowanie itp. Chociaż jest to przydatne, może ukryć charakter odnośników. Gdy masz już pojęcie o surowej przepustowości / opóźnieniu (i potencjalnie utracie pakietów), możesz przyjrzeć się bliżej, aby upewnić się, że różne hosty są skonfigurowane, aby odpowiednio wykorzystać dostępną przepustowość.
źródło
Spróbuj użyć polecenia „ping -l 8092” lub FTP lub HTTP, aby sprawdzić, czy występuje problem z SMB.
Po pierwsze: jakich mediów używasz do łączenia komputerów? Co my „100mpbs”? Ethernet? Nie możesz go użyć do komputerów „rozproszonych geograficznie”, prawda?
W przypadku „VPN przez Internet” routery między komputerami mogą używać różnych łączy: jedno jest szybkie, a drugie nie. Mogą wybrać link na podstawie wielu parametrów.
Opisz swoją sieć.
Może to być również problem MTU: kilka łączy może mieć różne MTU.
źródło
Wiele komentarzy i użytkowników oferuje tutaj świetne porady. Niektóre z nich zbliżyły się do tego, czego szukałem, ale miałem również szczęście spotkać się z weteranem sieci z naszej firmy, który pomógł wyjaśnić różne rzeczy. Pomyślałem, że opublikuję tutaj moje ustalenia / ustalenia dla korzyści innych. Prosimy o poprawienie mnie, jeśli coś takiego wydaje się być wyłączone:
1.) Maksymalna przepustowość pojedynczej sesji TCP z opóźnieniem 72 ms i oknem 64 KB wynosi około 0,8 MB / s, co czyni tę prędkość rozsądną w przypadku kopii z pojedynczym wątkiem i pojedynczej sesji, takich jak te, które wykonaliśmy przy użyciu robocopy.
2.) Ta różnica prędkości wydaje się sprowadzać do skuteczności metody przenoszenia. W naszym przypadku korzystaliśmy z Robocopy i Repliweb. Odkryłem, że robocopy korzysta z jednej sesji TCP, podczas gdy Repliweb może otwierać wiele sesji, aby przesyłać dane.
3.) Badania przeprowadzone na stronie Microsoftu wykazały, że SMB2 ma znaczący wzrost wydajności w porównaniu do SMB1. W niektórych przypadkach występowały jednak problemy ze sposobem, w jaki system operacyjny negocjuje, którego protokołu użyć, dlatego należy mieć świadomość zarówno: a.) Które przypadki SMB2 mogą być użyte, i b.) Czy SMB2 jest faktycznie wykorzystywane na przechwytywanie sieci.
Obecnie wygląda na to, że Wire-shark może określić użycie protokołu SMB2.
Mam nadzieję, że to pomoże. Ponownie, moje zrozumienie jest tutaj dość szczątkowe, nie krępuj się rozszerzać.
źródło