Konrad Kowalski (rootsher)Principal Platform & Reliability Architect110111100010001110101001110011000011000010000011

Performance

wpisy (22)

  1. Testowanie przez warstwy: od kodu do infrastruktury8/9

    Performance tests i load tests: zachowanie pod ruchem

    Performance test mierzy zachowanie systemu w czasie, load test sprawdza spodziewane obciążenie, a stress test szuka granicy pęknięcia.

  2. Warstwy HTTP w przeglądarce: od fetch() do QUIC7/9

    HTTP/2: multiplexing zmienił frontendowy network model

    Ta sama semantyka HTTP, inny wire format. Wiele równoległych requestów nie znaczy wielu socketów, a niezależność streamów kończy się na TCP.

  3. Warstwy HTTP w przeglądarce: od fetch() do QUIC6/9

    HTTP/1.1: skąd wzięły się waterfall i bundling

    Bundling, sprite'y i domain sharding były odpowiedzią na koszt wielu requestów. Architektura frontendu dopasowała się do ograniczeń protokołu.

  4. Warstwy HTTP w przeglądarce: od fetch() do QUIC5/9

    Connections: dlaczego jeden fetch() nie oznacza jednego połączenia

    Request i połączenie mają różny lifecycle. Pulą połączeń zarządza przeglądarka, a frontend wpływa na nią tylko przez architekturę zasobów i originów.

  5. Frontend Rendering: od server-side pages do hybrydowego renderowania17/17

    Nowoczesny rendering to kompozycja

    Renderowanie przestało być jednym etapem. To rozmieszczenie pracy w czasie, przestrzeni i pomiędzy runtime'ami, a framework jest konsekwencją tych decyzji.

  6. seria · 9 części

    Warstwy HTTP w przeglądarce: od fetch() do QUIC

    Dwie linie z fetch() zakrywają kilka warstw: browser API, semantykę HTTP, wire protocol i transport. Seria rozdziela je tak, żeby Network panel dał się czytać.

  7. Frontend Rendering: od server-side pages do hybrydowego renderowania16/17

    Server Components: nie cały kod UI musi trafić do browsera

    Granica renderowania przestaje przebiegać przez stronę, a zaczyna przez graf modułów. Część komponentów nigdy nie ma implementacji po stronie klienta.

  8. Frontend Rendering: od server-side pages do hybrydowego renderowania15/17

    Resumability: zamiast hydratować, wznów wykonanie

    Serwer zapisuje dość informacji, żeby klient nie musiał odtwarzać drzewa komponentów. Kod ładuje się dlatego, że wykonanie stało się potrzebne.

  9. Realtime w przeglądarce: od pollingu do WebTransport3/7

    HTTP Streaming: jedna odpowiedź, wiele fragmentów danych

    Odpowiedź może powstawać w czasie. Chunk transportowy nie jest wiadomością, więc framing i backpressure stają się sprawą aplikacji.

  10. Frontend Rendering: od server-side pages do hybrydowego renderowania14/17

    Islands architecture: interaktywne wyspy w statycznym dokumencie

    Punktem wyjścia przestaje być aplikacja. Strona jest dokumentem, a client runtime dostają tylko te fragmenty, które go naprawdę potrzebują.