Zweryfikowano · Zasoby Hosmio
Zanim zaczniesz
Używaj wyłącznie punktów końcowych, które posiadasz lub które masz uprawnienia testować. Uzgodnij niskie tempo żądań, okno obserwacji i nieszkodliwą operację testową. Poproś operatora aplikacji o wyjaśnienie normalnych przekierowań, uwierzytelniania i zależności zewnętrznych. Poniższy przykład to niewykonany przykład powłoki Linux.
01
Wymień cztery rodzaje połączeń.
| Ścieżka | Zadanie do obserwacji | Warunek do zarejestrowania |
|---|---|---|
| Użytkownik → portal | Otwórz reprezentatywną stronę | Sieć dostępowa, status odpowiedzi i treść |
| Portal → zewnętrzne API | Wykonaj dozwolone sprawdzenie zależności | Punkt końcowy, limit czasu i limit nadrzędny |
| Operator → administracja | Osiągnij autoryzowaną ścieżkę administracyjną | VPN/proxy i trasa dostępu |
| Aplikacja → miejsce docelowe odzyskiwania | Przenieś zatwierdzony obiekt testowy | Rozmiar obiektu, przepustowość i błędy |
Najwolniejsze ważne zadanie może obejmować API strony trzeciej, a nie ścieżkę od użytkownika do serwera. Trasa kopii zapasowej może mieć inne wąskie gardło niż ruch interaktywny. Zdefiniuj te ścieżki osobno, aby korzystny wynik na jednej nie ukrywał niepowodzenia na innej.
02
Uczyń żądanie porównywalnym.
Wybierz mały, niepoufny punkt końcowy z udokumentowanym oczekiwanym statusem i treścią. Zapisz, czy występują pamięci podręczne, uwierzytelnianie, przekierowania lub proxy. Utrzymuj ten sam ładunek i metodę w całej serii. Nie wysyłaj testów o dużym natężeniu do współdzielonej usługi ani nie uruchamiaj nieograniczonej pętli, aby uzyskać bardziej imponującą próbkę.
# Illustration only. Replace with an authorized test endpoint.
curl --silent --show-error --output /dev/null \
--connect-timeout 5 --max-time 15 \
--write-out 'status=%{http_code} dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} first_byte=%{time_starttransfer} total=%{time_total}\n' \
https://portal.example/healthLimity czasu połączenia i czasu całkowitego ograniczają różne części operacji. To polecenie nie podąża za przekierowaniami ani nie wyłącza weryfikacji certyfikatu. Przekierowanie lub niepowodzenie uwierzytelniania musi zostać zbadane, a nie policzone jako udane sprawdzenie aplikacji. curl: dokumentacja wiersza poleceń ↗
03
Interpretuj kamienie milowe, zamiast je dodawać.
Pokazane powyżej pola czasu curl to upływające kamienie milowe od rozpoczęcia żądania. Zakończenie DNS, zakończenie połączenia i zakończenie TLS nie są niezależnymi czasami, które należy sumować. Czas do pierwszego bajtu obejmuje również przygotowanie i oczekiwanie na serwer, więc nie jest to czysty pomiar opóźnienia sieciowego. Czas całkowity obejmuje całą operację. curl: dokumentacja wiersza poleceń ↗
W przypadku prostego, nowego połączenia HTTPS bez przekierowań różnice między kamieniami milowymi mogą pomóc zlokalizować fazę wymagającą zbadania. Ponowne użycie połączenia, proxy i przekierowania komplikują tę interpretację. Zachowaj oryginalne dane wyjściowe i warunki, aby inny operator mógł zdecydować, czy dwie obserwacje są porównywalne.
04
Prowadź arkusz obserwacji.
Observed at UTC: [timestamp]
Observer / access network: [test point]
Endpoint and expected result: [authorized URL; status/body]
Method / payload / repetitions: [agreed plan]
Proxy, VPN, redirects, cache: [conditions]
Successful requests: [count]
Failures and status codes: [count; categories]
Timing observations: [recorded output]
Application check: [passed / failed / not checked]
Limits of the observation: [known gaps]To jest pusty szablon rejestracji, a nie benchmark Hosmio. Wybierz wystarczającą liczbę obserwacji, aby zbadać swoje pytanie, i zachowaj nietypowe lub nieudane żądania. Nie pomijaj niewygodnych błędów ani nie twierdź, że krótka udana próbka potwierdza dostępność w dłuższym okresie.
05
Wykorzystaj różnice do wyboru następnego sprawdzenia.
Jeśli użytkownicy w jednej sieci dostępowej ponoszą porażkę, a inni odnoszą sukces, porównaj odpowiedzi DNS, certyfikaty, kody odpowiedzi i trasę przez dowolne proxy. Jeśli portal jest osiągalny, ale praca w tle się gromadzi, sprawdź oddzielnie nadrzędne API i przetwarzanie zadań. Dodatkowy procesor może nie pomóc, gdy praca oczekuje na zależność zewnętrzną.
Zmieniaj jeden warunek testu na raz i zapisz dlaczego. Inny punkt końcowy, ładunek lub stan uwierzytelniania może wyjaśniać inny czas bez żadnej zmiany infrastruktury. W przypadku większych transferów użyj wyraźnie zatwierdzonego rozmiaru testu i uwzględnij budżet transferu; dowolne duże pobieranie nie jest neutralnym testem.
06
Zamień obserwacje na ograniczoną decyzję.
Uzgodnij kryteria akceptacji projektu przed porównaniem wyników. Powinny odzwierciedlać zadanie, na którym zależy klientowi, i odróżniać funkcjonalność od czasu. Poproś drugiego operatora o powtórzenie procesu z tego samego rodzaju punktu obserwacyjnego; rozbieżność jest powodem do zbadania warunków, a nie do uśrednienia problemu.
Dołącz zapis obserwacji do proponowanej zmiany regionu lub macierzy decyzyjnej hostingu. Wskaż, które sieci użytkowników i zależności pozostają nieprzetestowane. Hosmio nie ma w tym katalogu opublikowanego zmierzonego punktu końcowego, gwarancji opóźnienia ani informacji o bieżącej przepustowości. Użytecznym wynikiem jest powtarzalna metoda i jasno ograniczona obserwacja, a nie twierdzenie o wydajności, która nie została zmierzona.