# Dobierz rozmiar transferu na podstawie pomiarów opóźnienia, współbieżności i przepustowości | SwissOctet Insights https://swissoctet.com/pl/insights/size-throughput-with-bandwidth-delay/ SwissOctet / Spostrzeżenia / Inżynieria sieci Inżynieria sieci Zaawansowany · 4 min czytania Oszacuj transfer z uwzględnieniem opóźnienia, współbieżności i pomiarów przepustowości Zbuduj powtarzalny model transferu na podstawie wolumenu danych, okien dostarczania i czasu rundy, a następnie przetestuj go, nie myląc etykiety portu z użyteczną przepustowością. Autor: SwissOctet Editorial Zapisz przewodnik Kopiuj link NA TEJ STRONIE 01 Zamień okno dostarczania na tempo 02 Oddziel przepustowość portu od użytecznej przepustowości 03 Zrozum, dlaczego czas rundy ma znaczenie 04 Zbuduj kontrolowaną macierz testów 05 Obserwuj punkty końcowe podczas testu 06 Przetestuj aplikację z realistycznymi ładunkami 07 Użyj wyniku do wyboru konfiguracji Twoja praktyczna lista kontrolna Źródła i dalsza lektura Powrót do biblioteki BEZPOŚREDNIA ODPOWIEDŹ Oblicz użyteczne tempo transferu wymagane przez Twoje okno dostarczania, a następnie zmierz całą ścieżkę. Przepustowość portu, czas rundy, zachowanie TCP, pamięć masowa i przetwarzanie aplikacji wpływają na wynik. Użyj kontrolowanych testów z realistyczną współbieżnością i powtórz je przez rzeczywistą aplikację przed wyborem warstwy sieciowej. 01 Zamień okno dostarczania na tempo Zacznij od ilości użytecznych danych aplikacji i czasu dostępnego na ich dostarczenie. Używając jednostek dziesiętnych, transfer 2 TB w dwie godziny wymaga około 278 MB na sekundę ładunku, czyli 2.22 Gbps, przed uwzględnieniem narzutu protokołu i przerw. Ta arytmetyka to przykład planistyczny, a nie zmierzony wynik usługi. Uwzględnij nakładające się transfery. Zaplanowany eksport, pobierania klientów i przesyłania kopii zapasowych mogą współdzielić zasoby, nawet jeśli ich miesięczne sumy wyglądają skromnie. Napisz model okresu szczytu, a nie tylko średnią miesięczną. Określ, który kierunek ma znaczenie i czy nieudany transfer musi zostać wznowiony od początku, czy może być kontynuowany; to zachowanie wpływa na ilość pracy wykonywanej przez system. 02 Oddziel przepustowość portu od użytecznej przepustowości Port serwera opisuje przepustowość łącza. Użyteczna przepustowość opisuje dane dostarczone przez Twoją aplikację w obserwowanym przedziale. Szyfrowanie, ramkowanie protokołu, retransmisja, aktywność pamięci masowej i praca po stronie odbiorcy zajmują części tej ścieżki. Wymieniony port 10 Gbps nie dowodzi więc, że aplikacja będzie stale dostarczać 10 Gbps ładunku. IETF RFC 6349 wyraźnie rozróżnia testowanie ścieżki sieciowej od badania wydajności TCP. Zastosuj ten podział we własnej diagnostyce. Najpierw potwierdź, że punkty końcowe i trasa są odpowiednie, a następnie zbadaj transport i aplikację. Zwiększenie zakupionego portu nie naprawi odbiorcy, który wolno zapisuje dane, ani aplikacji, która przetwarza jedno żądanie naraz. 03 Zrozum, dlaczego czas rundy ma znaczenie TCP kontroluje, ile danych może pozostać w locie przed powrotem potwierdzeń. Iloczyn przepustowości i opóźnienia daje użyteczną skalę: tempo pomnożone przez czas rundy. Hipotetyczna ścieżka 10 Gbps z 40 milisekundami opóźnienia rundy oznacza około 50 MB w locie. To obliczenie wyjaśnia, dlaczego opóźnienie i zachowanie transportu należą do planowania wysokich prędkości. Wynik nie jest instrukcją zastosowania dowolnego ustawienia gniazda. Systemy operacyjne, kontrola przeciążenia, wynegocjowane okna i rzeczywista ścieżka wpływają na zachowanie. Zweryfikuj aktualną dokumentację oprogramowania i przejrzyj pomiary przed dostrajaniem. Więcej równoległych połączeń może w niektórych okolicznościach poprawić zagregowaną przepustowość, ale może też ukryć zachowanie pojedynczego transferu, od którego zależy Twoja aplikacja. 04 Zbuduj kontrolowaną macierz testów Używaj wyłącznie punktów końcowych, które posiadasz lub które masz uprawnienie testować. Uzgodnij okno testowe i tempo, aby ćwiczenie nie zakłóciło normalnej usługi. Narzędzia takie jak iperf3 zapewniają konfigurowalny kierunek, czas trwania i równoległe strumienie; oficjalna dokumentacja definiuje te mechanizmy kontroli. Zapisz wersję, punkty końcowe, kontekst trasy i ustawienia wraz z wynikiem, aby inny operator mógł go odtworzyć. Zacznij od pojedynczego przepływu, a następnie dodaj reprezentatywną współbieżność. Uruchom oba kierunki, jeśli aplikacja zależy od obu. Ta przykładowa macierz rozdziela pytania, które pojedynczy wynik zbiorczy by pomieszał. Przechowuj surowe wyniki prywatnie, gdy ujawniają wewnętrzne adresy lub szczegóły operacyjne, i publikuj tylko pomiary potrzebne do decyzji. Test Co bada Czego nie dowodzi Jeden przepływ transportowy Zachowanie ścieżki pojedynczego przepływu Zagregowane dostarczanie aplikacji Kilka równoległych przepływów Współbieżność i limity zagregowane Tempo transferu jednego klienta Transfer aplikacji Pamięć masowa, protokół i oprogramowanie razem Wydajność dla każdego zbioru danych Powtórzenie w okresie szczytu Zmienność przy realistycznej aktywności Trwała gwarancja przepustowości 05 Obserwuj punkty końcowe podczas testu Zapisuj użycie CPU, presję pamięci, aktywność pamięci masowej i liczniki błędów na obu końcach. Wynik transferu bez obserwacji punktów końcowych może pozostawić rzeczywiste ograniczenie niewidocznym. Sprawdź, czy jeden proces lub CPU jest wysycony, podczas gdy inne są bezczynne. Unikaj zmiany kilku ustawień naraz, ponieważ utrudnia to ustalenie, która korekta pomogła. Oddziel test oparty na pamięci od testu, który odczytuje i zapisuje rzeczywiste dane. Pierwszy może pomóc zbadać ścieżkę transportu; drugi odzwierciedla więcej pracy aplikacji. Jeśli wyniki znacznie się różnią, zbadaj pamięć masową i przetwarzanie, zamiast traktować wynik oparty na pamięci jako obietnicę dostarczania. Oba pomiary mogą być użyteczne, gdy ich zakres jest jasny. 06 Przetestuj aplikację z realistycznymi ładunkami Eksport HTTP, szyfrowany strumień replikacji i sesja transferu plików mają różne wzorce przetwarzania. Użyj reprezentatywnych rozmiarów plików, tempa żądań i ustawień szyfrowania. Uwzględnij czas przygotowania danych przed wysłaniem pierwszego bajtu, gdy użytkownik czeka na ten etap. Rozróżnij opóźnienie pierwszej odpowiedzi od czasu ukończenia, zamiast podawać jedno jako drugie. Powtórz test w wystarczającej liczbie przedziałów, aby zobaczyć zmienność, i zachowaj punkt odniesienia przed zmianą konfiguracji. Dla hipotetycznego eksportu 2 TB porównaj rzeczywisty czas ukończenia z dwugodzinnym oknem i pozostaw margines na przerwy. Wybierz poprawę względem zaobserwowanego wąskiego gardła, zamiast mnożyć przepustowość portu bez powodu. 07 Użyj wyniku do wyboru konfiguracji Użytecznym wynikiem jest wymaganie zasobowe z dowodami: zmierzone tempo ładunku, akceptowalny czas ukończenia, oczekiwana współbieżność i znany etap ograniczający. Porównaj warianty sieci SwissOctet z tym wymaganiem, uwzględniając limit ruchu oraz specyfikacje CPU i pamięci masowej. Sama lokalizacja nie określa trasy ani opóźnienia end-to-end do każdego odbiorcy. Zachowaj procedurę testową po wdrożeniu. Użyj jej ponownie, gdy zbiory danych rosną, oprogramowanie się zmienia lub użytkownicy przenoszą się do innych sieci. Powtarzalny punkt odniesienia ułatwia diagnozę incydentu wydajnościowego i daje solidniejszy powód zmiany konfiguracji niż pojedynczy test prędkości lub reklamowane maksimum. ZAMIEŃ TO W DZIAŁANIE Twoja praktyczna lista kontrolna. ✓ Oblicz tempo ładunku na podstawie wolumenu i terminu. ✓ Modeluj nakładające się transfery i kierunek. ✓ Uzgodnij autoryzowane punkty końcowe testów i limity. ✓ Porównaj jeden przepływ, współbieżność i testy aplikacji. ✓ Obserwuj oba punkty końcowe podczas testowania. ✓ Zachowaj powtarzalny punkt odniesienia i użyteczny margines. Pobierz listę kontrolną CZĘSTE PYTANIA Szczegóły, które mają znaczenie. Czy większe okno TCP zawsze naprawia wolny transfer? + Nie. Najpierw zdiagnozuj ścieżkę i punkty końcowe. Pamięć masowa, CPU, utrata pakietów i zachowanie aplikacji mogą dominować, a dostrajanie transportu musi pasować do rzeczywistego systemu. Dlaczego testować pojedynczy przepływ i kilka przepływów? + Odpowiadają na różne pytania. Zagregowana przepustowość może być wyższa niż tempo jednego transferu; współbieżność aplikacji decyduje, który wynik ma znaczenie. Czy mogę przeprowadzić test przepustowości przeciwko dowolnemu publicznemu serwerowi? + Używaj punktów końcowych, które kontrolujesz lub masz pozwolenie testować. Uzgodnij czas trwania, tempo i termin, aby pomiar nie zakłócił niepowiązanych usług. GŁÓWNE ŹRÓDŁA Przejdź do źródła. Te źródła wspierają koncepcje techniczne w tym przewodniku. Przed zmianą systemu produkcyjnego zapoznaj się z aktualną dokumentacją. IETF RFC 6349: Framework for TCP throughput testing datatracker.ietf.org ESnet: Invoking iperf3 software.es.net Wskazówki redakcyjne SwissOctet. Przykłady są ilustracyjne. Specyfikacje usług, dostępne opcje i warunki umowne należy zweryfikować osobno. POŁĄCZ WIEDZĘ Powiązana infrastruktura. Metal Atlas Szwajcaria Transit 40 Szwajcaria Transit 100 Szwajcaria ZACHOWAJ WĄTEK Twoje następne notatki z terenu. Poznaj wszystkie przewodniki NOTATKA Z TERENU / 01 + Dedykowane i GPU Podstawy VPS czy dedykowany: wybierz granicę, która pasuje Zrozum, co zmienia maszyna fizyczna, czego nie zmienia i kiedy staje się użytecznym krokiem dla Twojego obciążenia. 4 min czytania Przeczytaj przewodnik NOTATKA Z TERENU / 02 + Inżynieria sieci Podstawy Przepustowość, prędkość portu i transfer: poznaj pełny obraz Oszacuj ilość danych przesyłanych przez Twój projekt i zrozum, dlaczego większy port to tylko jedna część wydajności sieci. 4 min czytania Przeczytaj przewodnik NOTATKA Z TERENU / 03 + Inżynieria sieci Zaawansowane Zaplanuj origin 40, 100 lub 200 Gbps jako kompletny system Przełóż duże klasy portów na pytania dotyczące storage, CPU, współbieżności i operacji, zanim wybierzesz konfigurację dystrybucji o dużym wolumenie. 4 min czytania Przeczytaj przewodnik