Kluczowe znaczenie dla sprawnego funkcjonowania sieci ma jej wysoka wydajność, zważywszy na codzienny przepływ ogromnych ilości danych.
Według danych Światowego Forum Ekonomicznego, rok 2020 rozpoczął się z poziomem około 44 zettabajtów danych, co odpowiada mniej więcej 40-krotności całkowitej liczby gwiazd w obserwowalnym wszechświecie.
A ta ilość z każdym dniem będzie się zwiększać.
Choć wydaje się to nieprawdopodobne, jest to rzeczywistość!
Dlatego tak ważne jest zapewnienie, że Twoja sieć pracuje na optymalnym poziomie, aby sprostać stale rosnącym wymaganiom.
Sednem problemu jest wydajność sieci, która zależy od kilku czynników, takich jak opóźnienie, czas do pierwszego bajtu (TTFB), szerokość pasma i przepustowość.
Aby zagwarantować stabilną i efektywną pracę sieci, konieczna jest optymalizacja tych parametrów. Pozwala to również uniknąć potencjalnych kar nakładanych przez główne przeglądarki i wyszukiwarki internetowe.
Przygotuj się zatem na zgłębienie tych terminów sieciowych oraz metod ich optymalizacji w celu uzyskania najwyższej wydajności.
Co to jest opóźnienie (latencja)?
Latencja, w najprostszym ujęciu, oznacza opóźnienie.
W kontekście sieci, latencja to czas potrzebny na przesłanie żądania lub danych z miejsca ich wygenerowania do miejsca docelowego. W tym przypadku działanie użytkownika jest żądaniem, a czas potrzebny aplikacji internetowej na odpowiedź na to żądanie jest opóźnieniem.
To opóźnienie obejmuje również czas, jaki serwer potrzebuje na przetworzenie żądania. Mierzy się je jako czas podróży w obie strony – całkowity czas potrzebny na przechwycenie i przetworzenie żądania przez różne urządzenia, a następnie odebranie go przez użytkownika, gdzie dane są dekodowane.
Niskie opóźnienia są pożądane, gdyż oznaczają szybką transmisję danych. Duże opóźnienia są natomiast niepożądane, gdyż negatywnie wpływają na komfort użytkownika.
Ale skąd wiedzieć, czy Twoja sieć charakteryzuje się dużym opóźnieniem?
Typowe objawy to:
- Strona internetowa lub aplikacja ładuje się bardzo długo.
- Dostęp do serwerów i aplikacji internetowych jest powolny.
- Wysyłanie niektórych informacji, na przykład e-maili z dużymi załącznikami, trwa dłużej.
Jeśli zauważysz takie objawy, najprawdopodobniej masz do czynienia z siecią o dużym opóźnieniu.
Opóźnienie sieci jest mierzone w milisekundach (ms) i jest nieuniknione, ponieważ na komunikację między sieciami wpływa wiele czynników. Można jednak zredukować opóźnienie, stosując pewne środki, które zostaną omówione w dalszej części artykułu.
Zanim jednak przejdziemy dalej, omówmy przyczyny powstawania opóźnień w sieci.
Jakie są przyczyny opóźnień?
- Odległość między użytkownikiem wysyłającym żądanie a lokalizacją serwera.
- Błędy serwera, takie jak błędy 50X, mogą negatywnie wpływać na działanie aplikacji i uniemożliwiać użytkownikom dostęp do strony internetowej.
- Słaba optymalizacja bazy danych zaplecza, wynikająca z nadmiernego obciążenia, długich pól, dużych tabel, nieprawidłowego indeksowania i złożonych obliczeń.
- Problemy ze sprzętem, takie jak routery, punkty dostępowe Wi-Fi, przełączniki, urządzenia zabezpieczające, systemy równoważenia obciążenia, zapory sieciowe, systemy IPS.
- Ograniczenia mediów transmisyjnych, takich jak połączenia bezprzewodowe i kable światłowodowe.
- Trudności systemów operacyjnych w utrzymaniu wymagań dotyczących pamięci RAM wykorzystywanej przez programy, spowodowane małą ilością pamięci, co wpływa na wydajność.
- Problemy po stronie użytkownika, takie jak niski cykl procesora lub brak pamięci potrzebnej do odebrania odpowiedzi w rozsądnym czasie.
Jak zmierzyć ⏱️ opóźnienie?
Opóźnienia sieci można monitorować automatycznie za pomocą narzędzi takich firm jak SolarWinds i Datadog.
Czy istnieje jednak ręczny sposób?
Odpowiedź brzmi: tak.
Wystarczy otworzyć wiersz poleceń w systemie operacyjnym i wpisać: „tracert”, a następnie adres docelowy.
Po wprowadzeniu polecenia wyświetli się lista wszystkich routerów na ścieżce sieciowej prowadzącej do podanego adresu, wraz z pomiarem czasu w milisekundach.
Sumując wszystkie pomiary, można uzyskać wartość opóźnienia sieci.
Istnieje kilka metod pomiaru opóźnienia:
Czas do pierwszego bajtu (TTFB)
Różnica czasu pomiędzy wysłaniem żądania z urządzenia użytkownika a momentem, gdy dotrze do niego „pierwszy” bajt danych, nazywana jest czasem do pierwszego bajtu (TTFB).
TTFB jest kluczowym wskaźnikiem opóźnienia sieci i czasu reakcji serwera.
Czas podróży w obie strony (RTT)
Całkowity czas, jaki pakiet danych potrzebuje na przebycie drogi od źródła do miejsca docelowego i z powrotem, to czas podróży w obie strony (RTT). Chociaż może dostarczyć dokładnych wyników, sytuacja może stać się niejasna, gdy pakiety danych wybiorą inną drogę powrotną.
Test ping
Zazwyczaj administratorzy systemu używają testów ping do zmierzenia czasu potrzebnego na dotarcie 32 bajtów do serwera oraz czasu potrzebnego na uzyskanie odpowiedzi. Metoda ta pozwala na jednoczesne przetestowanie różnych serwerów w sieci i uzyskanie danych o ogólnym opóźnieniu i wydajności.
Można również przeprowadzić test ping online.
Jak poprawić opóźnienie sieci?
Optymalizacja routingu
W celu usprawnienia routingu należy stosować narzędzia do optymalizacji, które efektywnie radzą sobie z problemami przeciążenia sieci.
W przypadku problemów z medium transmisyjnym można również użyć wzmacniaczy lub regeneratorów w celu zwiększenia prędkości sieci.
Kompresja i buforowanie
Szeroko rozproszone adresy IP pokonują duże odległości, co wydłuża czas transmisji. Zarządzanie serwerem brzegowym znajdującym się blisko użytkowników końcowych pozwoli na skrócenie czasu przesyłu i przyspieszenie ładowania strony.
Dodatkowo, techniki takie jak optymalizacja obrazów i kompresja plików zmniejszają również przepustowość potrzebną do przesyłania dużych ilości danych.
Peering
Peering to umożliwienie dwóm lub większej liczbie sieci połączenia się i bezpośredniej wymiany danych, bez płacenia stronom trzecim za tranzyt danych w sieci.
Warto zatem zadbać o odpowiednie połączenie sieciowe z wieloma ścieżkami sieciowymi dostępnymi w Internecie.
Optymalizacja protokołów sieciowych
Należy przestrzegać norm regulacyjnych, optymalizując protokoły sieciowe pod kątem interoperacyjności i minimalnych opóźnień.
Użycie HTTP/2
HTTP/2 pozwala na zmniejszenie opóźnień serwera dzięki mniejszej liczbie podróży w obie strony i równoległym transferom. Należy również zapewnić minimalną liczbę zewnętrznych żądań HTTP, w tym obrazów oraz plików JS i CSS.
Metody pobierania wstępnego
Chociaż nie zmniejsza to bezpośrednio opóźnienia sieci, poprawia wydajność strony pod kątem szybkości jej ładowania.
Czas do pierwszego bajtu (TTFB)
Jak już wspomniano, TTFB jest wskaźnikiem szybkości reakcji serwera. Przejdźmy do omówienia innych aspektów tego parametru.
TTFB może pomóc w zidentyfikowaniu słabych punktów występujących w procesie połączenia. Określenie miejsc występowania opóźnień pozwala na dostosowanie usług w celu uzyskania szybszego i bardziej niezawodnego działania.
Nie można też zapomnieć, że TTFB ma wpływ na SEO, a więc jest kluczowy dla widoczności w Internecie.
Jakie czynniki wpływają na TTFB?
Na TTFB wpływają trzy fazy:
Wysłanie żądania do serwera
Gdy użytkownik wysyła żądanie, serwer otrzymuje je, biorąc pod uwagę takie aspekty, jak czas potrzebny na wyszukiwanie DNS, szybkość sieci, odległość serwera i inne. W tym momencie zaczyna się TTFB.
Przetwarzanie żądania
Po otrzymaniu żądania, serwer musi je przetworzyć i wygenerować odpowiedź. Proces ten rozpoczyna się od wywołań bazy danych, komunikacji z innymi systemami w sieci, uruchomienia skryptów itp.
Odesłanie odpowiedzi
Następnie serwer przesyła wygenerowaną odpowiedź z powrotem do użytkownika, który wysłał żądanie. Zależy to od szybkości połączenia zarówno użytkownika, jak i sieci przedsiębiorstwa.
TTFB jest miarą czasu, w którym użytkownik zaczyna otrzymywać odpowiedź, począwszy od pierwszego bajtu.
Jak poprawić TTFB?
Redukcja opóźnienia
Opóźnienie może występować po dowolnej stronie; serwera i/lub użytkownika. Chociaż nie masz kontroli nad szybkością połączenia użytkowników, możesz popracować nad szybkością serwera. Spróbuj zmniejszyć obciążenie serwera, wykorzystując sieci CDN, które mogą umieszczać statyczne treści blisko użytkowników, co przyspiesza ładowanie strony.
Szybkie rozwiązywanie DNS
Rozwiązanie DNS nie powinno trwać dłużej niż 100 milisekund. W takim przypadku należy rozważyć optymalizację ustawień DNS lub zmianę dostawcy, jeśli problemy będą się powtarzać.
Aktualizacja hostingu strony
TTFB powyżej 200 ms nie jest korzystne dla witryny. Powodem powolnego TTFB może być dostawca hostingu, spowodowany przeciążeniem sieci i serwerów.
W takim przypadku można skontaktować się z dostawcą usług hostingowych lub zaktualizować plan. Można też przenieść stronę do innego dostawcy. W przypadku korzystania z platformy WordPress warto sprawdzić platformy hostingowe premium.
Poprawa wydajności backendu
Nieprawidłowa normalizacja lub indeksowanie baz danych może wydłużyć czas odpowiedzi. W związku z tym należy znormalizować i indeksować bazy danych dla zapytań monitujących. Poinformuje to bazę danych, aby szybko znajdowała kolumny tabeli, zamiast sprawdzać każdą z nich.
Buforowanie po stronie serwera
Można zmniejszyć obciążenie procesora i liczbę zapytań do bazy danych, przechowując często potrzebne pliki i dane w pamięci podręcznej serwera, aby przyspieszyć ich przesyłanie.
Monitorowanie zewnętrzne
Jeśli udało Ci się zoptymalizować TTFB, wdrażając kilka strategii, to świetnie!
Jednak zmiany w aktualizacjach oprogramowania, sprzęcie, aktualizacjach strony i inne mogą spowodować wzrost TTFB, dlatego warto monitorować ten wskaźnik.
W tym celu warto wdrożyć narzędzia do monitorowania wydajności strony, co pomoże szybko rozwiązywać problemy, jeśli wydajność zacznie spadać.
Co to jest szerokość pasma?
Maksymalna przepustowość sieci, uwzględniająca rozmiar sieci i moc obliczeniową serwera, jest określana jako szerokość pasma.
W uproszczeniu, jest to miara ilości danych, które można przesłać i/lub odebrać w danym momencie. Jest mierzona w bitach na sekundę (b/s), megabitach na sekundę (Mb/s) lub gigabitach na sekundę (Gb/s).
Czynniki wpływające na szerokość pasma
Połączenie internetowe ma określoną maksymalną szerokość pasma. Niektóre czynniki mogą ją ograniczać dla konkretnego urządzenia, powodując spowolnienie połączenia. Czynniki te mogą wynikać z charakteru połączenia lub komputera użytkownika.
Zużycie internetu
Na szerokość pasma wpływa całkowita liczba zadań wykonywanych na urządzeniu. Wraz ze wzrostem liczby zadań wykonywanych jednocześnie, prędkość spada. Dlatego warto rozważyć szeregowanie zadań.
Pasmo upstream i downstream
Dane przepływające Z urządzenia są przesyłane w górę, a dane przepływające DO urządzenia są przesyłane w dół.
Ogólnie rzecz biorąc, procesy internetowe obejmują więcej pobierania danych niż wysyłania. Dlatego połączenia internetowe kładą większy nacisk na przepustowość pobierania.
Na szerokość pasma ma wpływ zapotrzebowanie na zwiększenie prędkości wysyłania danych podczas dużych transferów danych, czatów wideo, zdalnego dostępu, połączeń Voice-over IP itp.
Zużycie w tle
Na szerokość pasma ma wpływ liczba jednoczesnych pobrań i wysyłań na urządzeniu.
Jedno połączenie, wielu użytkowników
Wraz ze wzrostem liczby użytkowników w jednej sieci wzrasta obciążenie serwerów, co powoduje spowolnienie transmisji danych.
Odległość od routera
Urządzenie umieszczone bliżej routera osiągnie większą szerokość pasma niż to umieszczone dalej.
Jak poprawić szerokość pasma?
Użyj ustawień QoS
Ustawienia jakości usług (QoS) pomagają sieciom w obsłudze ważnych aplikacji i reguł ruchu, nadając priorytet niektórym rodzajom ruchu. Dzięki temu kluczowe aplikacje nie muszą walczyć o przepustowość.
Aplikacje w chmurze
Przeniesienie części operacji do chmury może zwiększyć wydajność sieci. Warto spróbować przenieść część ruchu do prywatnych i publicznych sieci w chmurze i odciążyć w ten sposób sieć lokalną.
Eliminacja nieistotnego ruchu
Można zablokować nieistotny ruch, który nie zwiększa produktywności w godzinach pracy. Dzięki temu przepustowość może być wykorzystywana tylko do niezbędnych operacji.
Okresowe aktualizacje i kopie zapasowe
Aktualizacje i tworzenie kopii zapasowych danych oraz oprogramowania są kluczowe dla wydajności i bezpieczeństwa. Jednak procesy te pochłaniają ogromną przepustowość sieci.
Dlatego warto strategicznie zaplanować je poza normalnymi godzinami pracy.
Co to jest przepustowość?
Przepustowość sieci to miara całkowitej ilości danych, które można przesłać ze źródła do miejsca docelowego w określonym czasie.
Innymi słowy, przepustowość mierzy liczbę pakietów, które pomyślnie dotarły do miejsca docelowego. Oblicza się ją w bitach na sekundę (b/s) lub w danych na sekundę.
Czynniki wpływające na przepustowość
Ograniczenia medium transmisyjnego
Przepustowość medium transmisyjnego lub przepustowość teoretyczna ogranicza przepustowość sieci.
Na przykład, jeśli przepustowość wynosi 100 Mb/s, nie wzrośnie powyżej tej wartości. W rzeczywistości ilość praktycznie przesyłanych danych wyniosłaby około 95% tej wartości.
Przeciążenie sieci 🚸
W bardzo obciążonej sieci przepustowość jest zmniejszona.
Opóźnienie
Jeśli opóźnienie w danej sieci jest wysokie, wpłynie to negatywnie na przepustowość.
Działanie protokołu
Protokół, który przesyła i dostarcza pakiety danych w sieci, również może wpływać na przepustowość.
Utrata pakietów lub błędy
W przypadku niektórych rodzajów ruchu błędy i utrata pakietów mogą wpływać na przepustowość. Dzieje się tak, ponieważ pakiety te muszą zostać przesłane ponownie, co dodatkowo zmniejsza przepustowość.
Przyczyną utraty pakietów mogą być ataki bezpieczeństwa, wadliwe urządzenia i inne.
Do pomiaru przepustowości można użyć narzędzi takich jak SolarWinds, iPerf oraz Pingb.
Jak poprawić przepustowość?
Minimalizacja opóźnień
Jedną z pierwszych rzeczy, które należy zrobić, jest zminimalizowanie opóźnienia sieci, ponieważ ma ono ogromny wpływ na wydajność sieci i przekłada się na negatywne wrażenia użytkownika.
W tym celu można skorzystać z omówionych wcześniej metod.
Usuwanie wąskich gardeł w sieci
Należy unikać wąskich gardeł w sieci, modernizując routery, zmniejszając całkowitą liczbę węzłów, co skróci odległość pakietów. W rezultacie można zredukować zatory w celu poprawienia przepustowości.
Monitorowanie aplikacji zużywających zbyt dużo przepustowości
Jeśli dane połączenie internetowe zużywa znacznie więcej zasobów niż powinno, przepustowość spadnie. Dlatego należy zamknąć aplikacje, które wykorzystują zbyt dużą przepustowość, jeśli nie są konieczne.
Restartowanie sieci
Warto zaplanować okresowe ponowne uruchamianie systemów sieciowych, takich jak modem i routery. Po ponownym uruchomieniu mogą one działać z pełną wydajnością.
Sprawdzanie sprzętu
Nie należy dopuścić, aby wadliwy sprzęt obniżał przepustowość. Należy regularnie sprawdzać sprzęt sieciowy pod kątem nieprawidłowości.
Kontakt z dostawcą usług internetowych
Jeśli wszystko wydaje się działać prawidłowo, a niska przepustowość nadal się utrzymuje, warto skontaktować się z dostawcą usług internetowych. Być może problem leży po ich stronie.
Podsumowanie
Mam nadzieję, że informacje na temat opóźnień, TTFB, szerokości pasma i przepustowości stały się bardziej zrozumiałe. Spróbuj zastosować wskazówki i porady omówione powyżej, aby poprawić wydajność sieci.
Wtedy staniesz się prawdziwym administratorem sieci.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.