ARK. D08Parametr monitoringuDostępność · lista 50 parametrów

Próg TTFB

ważność średniamierzonysposób ttfb

Czas do pierwszego bajtu powyżej 3 s przez kilka kolejnych skanów. Sygnał przeciążenia serwera, wycieku pamięci lub ataku.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 10

Próg TTFB to parametr monitoringu stron internetowych, który mierzy czas do pierwszego bajtu odpowiedzi serwera (ang. Time to First Byte) i porównuje go z ustaloną wartością graniczną w kolejnych pomiarach. Wynik to czas w milisekundach, a przekroczenie progu w serii pomiarów wskazuje na utrwalone spowolnienie, a nie chwilowe zakłócenie. TTFB mierzy czas od rozpoczęcia nawigacji do strony do chwili, w której zaczyna docierać pierwszy bajt odpowiedzi [1].

Jak działa

TTFB jest sumą kilku faz żądania: czasu przekierowań, uruchomienia service workera (jeśli występuje), zapytania DNS, nawiązania połączenia i negocjacji TLS oraz samego żądania aż do nadejścia pierwszego bajtu odpowiedzi [1]. MDN opisuje TTFB jako czas między wysłaniem żądania przez przeglądarkę a otrzymaniem pierwszego bajtu od serwera, obejmujący zapytanie DNS, uzgadnianie TCP i, przy HTTPS, uzgadnianie TLS [2].

RYS. 1.1Fazy do pierwszego bajtu

Na czas po stronie serwera składa się wszystko, co dzieje się między przyjęciem żądania a wysłaniem początku odpowiedzi: wykonanie aplikacji, zapytania do bazy danych, odczyt z pamięci podręcznej. Nagłówek Server-Timing pozwala zmierzyć takie odrębne procesy zaplecza, na przykład zapytania do bazy danych [6]. Każde przekierowanie dokłada opóźnienie, a łańcuch przekierowań prowadzących do kolejnych przekierowań powiększa je dalej [6].

RYS. 1.2Składowe TTFB

TTFB poprzedza wszystkie dalsze miary ładowania strony [1]. Nic nie może się wydarzyć po stronie przeglądarki, zanim zaplecze dostarczy pierwszy bajt treści, dlatego skrócenie TTFB poprawia każdą kolejną miarę ładowania [7].

Standardy i specyfikacje

  • Navigation Timing Level 2 (W3C, szkic roboczy) definiuje responseStart jako moment tuż po otrzymaniu przez przeglądarkę pierwszego bajtu odpowiedzi z serwera, pamięci podręcznej HTTP lub zasobów lokalnych [3]. Model przetwarzania ustawia fazy w kolejności: przekierowanie, zapytanie DNS, połączenie, zabezpieczenie połączenia, żądanie, odpowiedź [3].
  • PerformanceResourceTiming udostępnia responseStart w API przeglądarki; różnica responseStart i requestStart mierzy czas trwania samego żądania [4]. Dla zasobu z innego źródła bez nagłówka Timing-Allow-Origin wartość wynosi 0 [4].
  • Server Timing (W3C) pozwala serwerowi przekazać przeglądarce metryki cyklu żądanie–odpowiedź, np. Server-Timing: db;dur=53, app;dur=47.2 [5]. Dostęp do tych danych jest domyślnie ograniczony regułą tego samego źródła, a serwer decyduje, które metryki ujawnia [5].
  • Progi web.dev. web.dev zaleca, by serwer odpowiadał na tyle szybko, żeby 75. percentyl użytkowników mieścił się w dobrym progu FCP; jako orientację podaje TTFB do 0,8 s jako dobry i powyżej 1,8 s jako słaby [1]. TTFB nie należy do Core Web Vitals [1], ale jest pierwszą z czterech składowych LCP; web.dev sugeruje, by odpowiadał za około 40% tego czasu [7].
  • 103 Early Hints. Przy odpowiedziach tymczasowych 103 za pierwsze bajty uznaje się właśnie tę odpowiedź [1]. Czas do odpowiedzi końcowej mierzy finalResponseHeadersStart, tam gdzie jest obsługiwany [2].

Zagrożenia i skutki

Brak pamięci podręcznej stron. Wtyczki cache w WordPressie zapisują wpisy i strony jako pliki statyczne, co zmniejsza obciążenie serwera; dla stron o mało zmiennej treści poprawa może być kilkusetkrotna [8]. Pamięć podręczna obiektów przenosi dane z miejsca drogiego i wolnego w odczycie do taniego i szybkiego [8]. Bez tych mechanizmów każde żądanie wymaga pełnego wygenerowania strony.

Wtyczki, motywy i baza danych. Wydajność WordPressa zależy od liczby i jakości wtyczek oraz od użytego motywu [6]. Zapytania do bazy danych są jednym z procesów zaplecza, które warto mierzyć przy wysokim opóźnieniu [6].

WP-Cron. Zadania WP-Cron uruchamiają się przy wczytaniu strony; dokumentacja WordPressa zaleca przeniesienie ich do systemowego harmonogramu i wyłączenie stałą DISABLE_WP_CRON, bo inaczej WP-Cron nadal działa przy każdym wczytaniu strony i dokłada zużycie zasobów serwera [9].

Hosting. Hosting współdzielony jest zwykle wolniejszy, a aplikacja z niewystarczającą ilością pamięci zaczyna ją intensywnie wymieniać i nie obsługuje stron tak szybko, jak mogłaby [6]. CDN skraca dystans do użytkownika, bo zasoby są przechowywane na serwerach fizycznie bliższych odbiorcom [6].

Pomiar z jednej lokalizacji. Test laboratoryjny wykonuje jedno urządzenie, w jednej sieci, z jednego miejsca, zwykle przy pustej pamięci podręcznej [10]. Dane z pola odzwierciedlają rzeczywiste sieci i lokalizacje użytkowników, a pojedyncza liczba raportowana przez narzędzie jest punktem rozkładu, zwykle 75. percentylem [10]. Jeden odczyt TTFB jest więc próbką; o stanie serwera mówi dopiero seria pomiarów.

Przykłady

ObserwacjaCo widać w pomiarzeMożliwa przyczyna
TTFB do 0,8 swynik w przedziale dobrym [1]strona serwowana z pamięci podręcznej [8]
TTFB powyżej 1,8 swynik w przedziale słabym [1]generowanie strony bez cache, ciężkie wtyczki [6] [8]
Wysoki TTFB, krótki czas serwera w Server-Timingopóźnienie poza aplikacjąprzekierowania, DNS, połączenie, TLS [1]
Wysoki czas db w Server-Timingdominuje baza danych [5] [6]wolne zapytania do bazy [6]
Pojedynczy wolny odczyt, kolejne szybkiejedna próbka z rozkładu [10]zimna pamięć podręczna, warunki sieci [10]
Wolne odczyty w wielu kolejnych pomiarachspowolnienie utrwalone w seriiprzeciążony hosting, brak pamięci [6]
Niski TTFB przy 103 Early Hintsliczy się odpowiedź tymczasowa [1]odpowiedź końcowa może przyjść później [2]
TAB. 1.1Przypisy10
  1. [1] Time to First Byte (TTFB) · web.dev (Google)
  2. [2] Time to first byte — Glossary · MDN Web Docs
  3. [3] Navigation Timing Level 2 · W3C
  4. [4] PerformanceResourceTiming: responseStart property · MDN Web Docs
  5. [5] Server Timing · W3C
  6. [6] Optimize Time to First Byte · web.dev (Google)
  7. [7] Optimize Largest Contentful Paint · web.dev (Google)
  8. [8] Cache — Advanced Administration Handbook · WordPress.org
  9. [9] Hooking WP-Cron Into the System Task Scheduler — Plugin Handbook · WordPress.org
  10. [10] Why lab and field data can be different · web.dev (Google)
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per stronaostatni dzień pomiaru 21.09.2026
Stron zmierzonych
204w ostatnim dniu pomiaru
OK
324odczytów
Fail
0odczytów
Nie dało się sprawdzić
30timeout, blokada, limit zapytań
Udział fail
0,0%bez „nie dało się”
TAB. 2.2Od początkuod 17.09.2026
Stron łącznie
206choć jeden odczyt
OK
1811odczytów
Fail
23odczytów
Nie dało się sprawdzić
120timeout, blokada, limit zapytań
Udział fail
1,3%bez „nie dało się”
RYS. 2.130 dnicheck_type: ttfb
23.08.202607.09.202621.09.2026
Odczyty parametru Próg TTFB, 30 dni · wysokość słupka = liczba odczytów dnia, warstwy od dołu: fail, nie dało się sprawdzić, ok · dni bez odczytu: 25 · dni ze stanem „fail”: 17.09.2026 · dni ze stanem „nie dało się sprawdzić”: 17.09.2026, 18.09.2026, 19.09.2026, 20.09.2026, 21.09.2026
Odczyty parametru Próg TTFB, 30 dni
Dzieńfailnie dało się sprawdzićok
23.08.20260 odczytów0 odczytów0 odczytów
24.08.20260 odczytów0 odczytów0 odczytów
25.08.20260 odczytów0 odczytów0 odczytów
26.08.20260 odczytów0 odczytów0 odczytów
27.08.20260 odczytów0 odczytów0 odczytów
28.08.20260 odczytów0 odczytów0 odczytów
29.08.20260 odczytów0 odczytów0 odczytów
30.08.20260 odczytów0 odczytów0 odczytów
31.08.20260 odczytów0 odczytów0 odczytów
01.09.20260 odczytów0 odczytów0 odczytów
02.09.20260 odczytów0 odczytów0 odczytów
03.09.20260 odczytów0 odczytów0 odczytów
04.09.20260 odczytów0 odczytów0 odczytów
05.09.20260 odczytów0 odczytów0 odczytów
06.09.20260 odczytów0 odczytów0 odczytów
07.09.20260 odczytów0 odczytów0 odczytów
08.09.20260 odczytów0 odczytów0 odczytów
09.09.20260 odczytów0 odczytów0 odczytów
10.09.20260 odczytów0 odczytów0 odczytów
11.09.20260 odczytów0 odczytów0 odczytów
12.09.20260 odczytów0 odczytów0 odczytów
13.09.20260 odczytów0 odczytów0 odczytów
14.09.20260 odczytów0 odczytów0 odczytów
15.09.20260 odczytów0 odczytów0 odczytów
16.09.20260 odczytów0 odczytów0 odczytów
17.09.202623 odczyty1 odczyt182 odczyty
18.09.20260 odczytów4 odczyty180 odczytów
19.09.20260 odczytów58 odczytów572 odczyty
20.09.20260 odczytów27 odczytów553 odczyty
21.09.20260 odczytów30 odczytów324 odczyty
TAB. 2.3Ustaleniaod 13.07.2026
Otwarte teraz
19stron: 19 · w okresie łaski: 10
Nowe w ostatnim dniu
120.09.2026
Otwarte od początku
73stron: 56
Zamknięte
44od początku
Mediana trwania
9 h 46 minod wykrycia do zamknięcia
UstalenieSkutekOtwarte terazŁącznieZamknięte
Czas odpowiedzi (TTFB) ttfbWARNING197344
RYS. 2.2Nowe ustalenia, 30 dni
23.08.202607.09.202621.09.2026
Nowe ustalenia parametru Próg TTFB, 30 dni · wysokość słupka = liczba ustaleń dnia, warstwy od dołu: nowe ustalenia · dni bez odczytu: 19
Nowe ustalenia parametru Próg TTFB, 30 dni
Dzieńnowe ustalenia
23.08.20264 ustalenia
24.08.20260 ustaleń
25.08.20261 ustalenie
26.08.20261 ustalenie
27.08.20260 ustaleń
28.08.20260 ustaleń
29.08.20260 ustaleń
30.08.20262 ustalenia
31.08.20261 ustalenie
01.09.20261 ustalenie
02.09.20260 ustaleń
03.09.20260 ustaleń
04.09.20260 ustaleń
05.09.20260 ustaleń
06.09.20260 ustaleń
07.09.20260 ustaleń
08.09.20260 ustaleń
09.09.20269 ustaleń
10.09.20260 ustaleń
11.09.20260 ustaleń
12.09.20260 ustaleń
13.09.20260 ustaleń
14.09.20260 ustaleń
15.09.20260 ustaleń
16.09.20260 ustaleń
17.09.202612 ustaleń
18.09.20263 ustalenia
19.09.20265 ustaleń
20.09.20261 ustalenie
21.09.20260 ustaleń
TAB. 2.4Przebiegi z tym sposobem sprawdzeniaod 09.09.2026
Przebiegów
60sposób ttfb
W 30 dni
60przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
20461 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 16.09.2026
RYS. 3.1Droga parametru przez system: Próg TTFB
TAB. 3.1Pomiarpliki: 5
Obszar i ważnośćDostępność · średnia (D08)
Workflow i częstotliwośćcreato_ping_avail_v2 działa na LAB247cron co 24 h, osobno T1–T4 · Strony w stanie DOWN i WARNING dostają dodatkowy odczyt co 6 h (timer availability_recheck poza n8n). Od 2026-09-16 sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); od 2026-09-17 odczyty trafiają do check_results.
Sonda i helpersposób ttfb · CREATO_PING/helpers/ttfb_check.py
Testy
  1. GET https://domena z podążaniem za przekierowaniami i własnym UA; czas mierzony wokół całego żądania.
  2. Kod HTTP jest odczytany, ale nie oceniany.
  3. Odczyt powyżej progu zwiększa licznik kolejnych wolnych odczytów domeny, odczyt w progu go zeruje; licznik w pliku ttfb_streak.json na serwerze monitoringu.
  4. Tylko skan dostępności raz na dobę (do 50 stron równolegle); dodatkowy odczyt co 6 h stron DOWN/WARNING go nie woła.
Typ wynikuenum: ok / fail / timeout + czas w ms, licznik kolejnych wolnych odczytów, próg
Jednostkams — w praktyce czas całej odpowiedzi GET razem z przekierowaniami i pobraniem treści, nie czas do pierwszego bajtu
Próg i regułaCzas > 3000 ms zwiększa licznik; licznik ≥ 3 = fail. Brak odpowiedzi w 10 s = timeout od razu, błąd sieci = fail od razu.
Gdzie leżą pokrętłaCREATO_PING/helpers/ttfb_check.py → CREATO_PING_TTFB_THRESHOLD_MS (domyślnie 3000)CREATO_PING/helpers/ttfb_check.py → CREATO_PING_TTFB_STREAK (domyślnie 3)CREATO_PING/helpers/ttfb_check.py → _TIMEOUT (10 s, poza config.TIMEOUTS)CREATO_PING/helpers/site_params.py → CRITICAL_CHECK_TYPES (ttfb poza listą)
Retencja odczytówKażdy odczyt w tabeli check_results bazy LAB247; kod LAB247 tej tabeli nie czyści. Polityki retencji nikt jeszcze nie ustalił.
Znane rozbieżności
  1. Mierzony jest czas całej odpowiedzi, nie czas do pierwszego bajtu — przy wolnym transferze dużej strony wynik jest zawyżony.
  2. Timeout i błąd sieci nie czekają na serię: idą od razu i dublują sygnał parametrów TCP i kod HTTP.
  3. Kod HTTP jest ignorowany: szybka odpowiedź 500 daje ok.
  4. Helper zwraca czas w polu ttfb_ms, a przekazanie do zapisu bierze elapsed_ms — czas może nie docierać do bazy (do potwierdzenia na ścieżce ingestu).
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/ttfb_check.py · CREATO_PING/helpers/config.py · CREATO_PING/helpers/site_params.py · CREATO_PING/tools/avail_writer_input.py · LAB247/site/src/lib/ingest/apply.ts · odczyt 16.09.2026
TAB. 3.2Co oznacza failtypów ustaleń: 1

Dwa progi po sobie. Helper daje fail dopiero przy 3. kolejnym wolnym odczycie; potem 1. fail = okres łaski (IN PROGRESS, bez alertu), 2. fail z rzędu = ustalenie otwarte z etykietą WARNING — ttfb nie jest sprawdzeniem krytycznym i nie daje DOWN. Przy skanie raz na dobę WARNING pojawia się najwcześniej po 4 kolejnych wolnych dniach; timeout i błąd sieci omijają licznik. Pierwszy odczyt ok zamyka ustalenie.

UstaleniePowagaPewnośćSkutekSubtask / alarmCo zrobić
Czas odpowiedzi (TTFB)ttfbNormalneEwidentneWARNINGtak / nieSprawdź obciążenie serwera, cache i ciężkie wtyczki.
ARK. 4

LOOP

bez pętli
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.

TAB. 4.2Pętle

Ten parametr nie przeszedł jeszcze żadnej pętli. W kolejce pętli 1 jest na pozycji 4.

Blog 24/7
20.09Zastrzeżony PESEL: zmiana raz na 30 minut, blokada przy wypłaciedobreprogramy.pl20.09Fałszywe SMS-y od GITD o mandacie za autostradę wyłudzają dane kartyinstalki.pl20.09Pakiet npm indexed-btree omija blokadę skryptów instalacyjnychbleepingcomputer.com19.09SolarWinds łata CVE-2026-28326 w Access Rights Manager, zdalny kod bez logowaniathehackernews.com19.09Orkes Conductor: luka CVE-2026-58138 atakowana w sieci, poprawka w wersji 3.30.2thehackernews.com19.09Trzy luki jądra Linux w katalogu CISA KEV, Red Hat potwierdza aktywne atakithehackernews.com18.09Publiczne exploity na cztery luki jądra Linux dają lokalnie uprawnienia rootthehackernews.com18.09Brevo: skradziony klucz API Cloudflare i skrypty ClickFix na stronach klientówbleepingcomputer.com18.09WaterPlum z Korei Północnej zainfekowała 30 000 urządzeń w 100 krajachtherecord.media18.09Jedna zgoda OAuth daje napastnikowi dostęp do poczty i plików mimo MFAdarkreading.com