Dokładna strategia pomiaru wydajności łącza punkt-punkt?


12

Mam wymóg zapewnienia dokładnych środków do zademonstrowania wydajności linii na płaskim obwodzie Ethernet 1 Gb typu punkt-punkt 1 Gb, w odległości około 100 mil od siebie, która najwyraźniej przechodzi przez szereg przeskoków na odległość.

Wymaganie biznesowe będzie musiało wykazać wydajność z dokładnością co najmniej 8 ms opóźnienia. Łącze będzie przenosić ruch głosowy i transmisję danych, dzięki czemu umowa SLA powinna gwarantować przepustowość 1000 Mb.

Jakie są znane dokładne metody pomiaru wydajności przy tych wymaganiach?
Zdaję sobie sprawę z szeregu dostępnych wskaźników, które mogą być możliwe do stworzenia strategii testowej, ale po przejściu przez Google wielu informacji może stać się przytłaczające i nie jestem pewien, czy należy używać oprogramowania takiego jak iPerth, jaki jest punkt odniesienia dla tego scenariusza itp.?


To pytanie jest bardzo niejasne. Co rozumiesz przez „pomiar wydajności w przypadku tego rodzaju połączenia”? Jak wspomniałeś, istnieje szereg wskaźników wydajności, które możesz zmierzyć ... (tj. Opóźnienie sieci, fluktuacje, przepustowość, współczynnik błędów bitowych). Musisz wyjaśnić, które mierniki należy przetestować z osobą, która dała ci wymóg pomiaru wydajności.
Mike Pennington

1
Myślę, że to ważne pytanie. To nie tak, że istnieje 1000 sposobów, aby dowiedzieć się, czy link działa tak, jak powinien. Istnieją ustawione wskaźniki, które dadzą ci zdrowie łącza.
bigmstone

Mike - Myślę, że jest to wystarczająco jasne, chociaż uwzględniam uzgodnione wskaźniki, które będą musiały zostać ustalone. Chciałem uzyskać odpowiedzi na temat ich doświadczenia w zakresie strategii, które zastosowali z powodzeniem, i już mam świetne informacje, dziękuję wszystkim. Z przyjemnością edytujesz, jeśli chcesz zaproponować coś bardziej zwięzłego?
MattE

@MattEarp, mówię, że zadajesz pytanie, na które nie możemy odpowiedzieć (najdokładniejszy sposób pomiaru wydajności) ... po przeprowadzeniu znaczących testów sieci w mojej karierze, nie wiemy wystarczająco dużo, aby naprawdę pomóc, chyba że powiedz ... „Ten obwód będzie przenosił ruch w obrocie finansowym. Jak mogę przetestować wydajność bez spadania i zmierzyć opóźnienie z dokładnością do 1 ms”, to mamy coś do pracy. W oparciu o potrzeby pierwotnego requestera i parametry SLA obwodu możemy pomóc zbudować strategię testową ... ale teraz nie ma wystarczających informacji. Proszę zdefiniować przypadek użycia, wskaźniki i wymagania dotyczące dokładności
Mike Pennington

@ MikePennington - Zredagowałem pytanie, rozumiejąc, co należy zmierzyć w kategoriach minimalnego opóźnienia, na które, mam nadzieję, można lepiej odpowiedzieć.
MattE

Odpowiedzi:


8

Jeśli próbujesz przetestować 1xGE No Drop Rate i zmierzyć opóźnienie obwodu w ciągu 8ms, użyłbym nuttcp do przetestowania przepustowości i iperf2 / mtr do przetestowania opóźnienia.

Zrobiłbym następujące ...

  1. Znajdź dwa komputery stacjonarne z systemem Linux , jeśli to możliwe (laptopy są czasami dopuszczalne, ale możesz mieć problemy z wydajnością chipsetu lub magistrali przy prędkości 1GE). Możesz uruchomić komputer z dysku CD z zestawem narzędziowym Sonar , jeśli nie chcesz instalować stałego systemu Linux na tych urządzeniach
  2. Wybierz rozmiary pakietów dla swojego testu. Ponieważ potrzebujesz obsługi głosowej w obwodzie, powinieneś testować strumienie z mniejszymi ramkami, takimi jak 128-bajtowe ramki Ethernet. Gdybym uruchamiał test, wybrałbym ramki ethernetowe 128, 256, 768 i 1514 bajtów.
  3. Przetestuj wydajność przepustowości UDP nuttcp na komputerach z systemem Linux podłączonych tyłem do siebie przed wysłaniem jednego z nich w odległości 100 mil. Chcesz mieć pewność, że możesz mierzyć 1000 Mb / s przy różnych rozmiarach pakietów. Koniecznie uwagę na Inter-Frame Gap podczas obliczania przepustowości oczekuje stóp ... na przykład najlepszą możliwą przepustowość można oczekiwać na nieotagowanego obwodu GigE na 128-bajtowy średniej wielkości ramki Ethernet wynosi 864.9 Mbps.
  4. Użyj iperf2 lub mtr, aby przetestować opóźnienie obwodu ...
  5. Wybierz okno testowe. Myślę, że najlepiej jest testować obwody nieprzerwanie przez co najmniej jeden dzień ... dwa dni w tygodniu są lepsze, jeśli chcesz wyczuć potencjalną nadsubskrypcję w sieci operatora.
  6. Wyślij jeden z komputerów PC do zdalnej witryny, wstępnie skonfigurowanej do potrzebnego adresu IP w łączu.

Różne myśli

Inne odpowiedzi sugerują używanie samego iperf2 ; nie ma jednak opcji CLI do dostosowania rozmiaru pakietu UDP. Ma również tendencję do wykazywania słabej wydajności przy dużych prędkościach w MS Windows.

Ten artykuł Metro Ethernet Forum na temat testowania obwodów ethernetowych przewoźnika pomoże w zrozumieniu niektórych kompromisów podejmowanych podczas testowania obwodów.


iperf faktycznie przeniósł się do wersji 3 w nowej witrynie - code.google.com/p/iperf - czy celowo zamieściłeś link do wersji v2?
pauska

Testowałem z v3, ale v2 wydaje mi się bardziej stabilny
Mike Pennington

Doskonały punkt do testowania od początku do końca przed wysyłką.
generalnetworkerror

6

iperf może to zrobić. Po prostu upewnij się, że najpierw testujesz swoje urządzenia jeden po drugim, aby poznać ich możliwości.

Oczywiście są też bardziej profesjonalne narzędzia.

To jest dobry RFC do odczytania właściwej metodologii: http://www.ietf.org/rfc/rfc2544.txt


6

Jeśli masz komputery na obu końcach, możesz uruchomić xjperf , Qcheck z Ixii lub inne narzędzia. Możesz uzyskać różne wyniki w zależności od tego, czy korzystasz z UDP lub TCP, czy od liczby sesji.

Dla odległości przekraczającej 100 mil spoglądasz na RTT minimum 1,6 ms przy prędkości światła we włóknie / miedzi. Więc twój RTT powinien być bardzo niski, może tylko kilka ms. Powiedz, że masz RTT 6 ms. Przy domyślnych opcjach rozmiaru okna w systemie Windows przepustowość może wynosić tylko około 85 Mb / s. Potrzebny byłby rozmiar okna co najmniej 768 kbyte, aby wysłać ruch warty gig.

Za pomocą kalkulatora przepustowości TCP można wykonywać własne obliczenia.

Ixia ma bardziej zaawansowane narzędzia, ale kosztują pieniądze, których nie mają powyższe narzędzia.


+1 dla xjperf / iperf. Niezwykle przydatny w takich sytuacjach.
pauska


2

Ponieważ chcesz zmierzyć obwód warstwy 2, chciałbym bezwstydnie pchnąć trochę wolnego oprogramowania, które piszę. Nadal jest w fazie beta, ale robi dokładnie to, co chcesz na podstawie informacji zawartych w pytaniu.

W przeciwieństwie do nuttcp, iPerf, jPerf i in. Etherate działa bezpośrednio na warstwie 2 zaprojektowanej specjalnie do testowania Ethernet. Podobnie jak inne, wystarczy laptop na każdym, a mój laptop z procesorem Intel i3 może z łatwością uzyskać dostęp do łącza gig.

Ponieważ jest w fazie beta, bardziej zaawansowane funkcje nie są jeszcze gotowe, takie jak testy MPLS, ale wdrażane są testy przepustowości, opóźnienia i MTU (wszystkie bezpośrednio na Ethernet warstwy 2).

https://github.com/jwbensley/etherate


1

Aby uzyskać pełny „profil zdrowia” linku, należy wziąć pod uwagę kilka różnych wskaźników.

  • Czas oczekiwania
  • Drganie
  • Wydajność
  • Utrata

Najlepszym sposobem dokładnego pomiaru tych wskaźników jest urządzenie przeznaczone do testowania. Exfo, JDSU i Fluke to kilka dużych firm, które produkują takie urządzenia.

Komputer PC / może / przetestować te wskaźniki, ale musisz upewnić się, że na komputerze nic nie wypacza liczb, a aplikacja, której używasz, jest dokładna.

iperf będzie mierzył przepustowość pasma, ale nie będzie mierzył wiele więcej. Ping będzie mierzył moment w opóźnieniu czasowym, ale nie będzie drżeć. Również echo ICMP jest naprawdę dokładne z dokładnością do 1 ms. Jeśli próbujesz uzyskać rzeczywisty pomiar opóźnienia, musisz zdecydować, czy 1 ms szczegółowości jest wystarczający dla Ciebie / Twoich aplikacji.


1

Iperf i mtr, aby wykonać określony test. I palenie, aby mieć prostą historię wydajności łącza za pomocą sondy fping.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.