Konrad Kowalski (rootsher)Principal Platform & Reliability Architect111000110110010101100010110010000011010001011010

Capacity & Performance

wpisy (10)

  1. CPU w Kubernetes od kernela w górę12/12

    Anatomia problemu CPU: od zaniżonego requestu do p99 latency

    Jeden incydent od początku do końca: request 500m, brak limitu, brak throttlingu, a p99 rośnie z 35 do 180 ms. Cała ścieżka mechanizmu.

  2. CPU w Kubernetes od kernela w górę11/12

    Noisy neighbor i CPU overcommit: kiedy jeden Pod psuje drugi

    Overcommit działa, dopóki bursty nie są skorelowane. Zaniżony request to nie tylko placement - to także słabsza pozycja przy contention.

  3. CPU w Kubernetes od kernela w górę10/12

    Jak debugować CPU w Kubernetes bez zgadywania

    Usage, throttling, contention i pressure to cztery różne zjawiska. Jeden wykres CPU nie rozstrzyga żadnego z nich - potrzebna jest kolejność.

  4. CPU w Kubernetes od kernela w górę9/12

    NUMA, SMT i cache: kiedy topologia hardware zaczyna mieć znaczenie

    Dwa workloady mogą dostać tyle samo CPU time i wykonać różną ilość pracy. Tu kończy się abstrakcja CPU, a zaczyna fizyka maszyny.

  5. CPU w Kubernetes od kernela w górę7/12

    Requests, Limits i QoS: jak Kubernetes klasyfikuje Pody

    QoS class jest wynikiem konfiguracji requestów i limitów, nie osobnym mechanizmem przydzielania CPU. Guaranteed to nie dedykowany rdzeń.

  6. CPU w Kubernetes od kernela w górę6/12

    PSI: jak Linux mierzy realny CPU pressure

    Utilization mówi, ile CPU workload dostał. PSI mierzy czas, który stracił, bo chciał się wykonywać i nie miał na czym.

  7. CPU w Kubernetes od kernela w górę5/12

    CPU Contention: kiedy proces chce CPU, ale go nie dostaje

    Bez żadnego limitu proces może stać i czekać. Wystarczy, że runnable demand przekroczy dostępną capacity - i to widać dopiero w latency.

  8. CPU w Kubernetes od kernela w górę4/12

    CPU Limits i throttling: co naprawdę robi limit CPU

    Limit nie przypina kontenera do rdzenia. Daje mu budżet CPU time rozliczany w okresach, a po jego wyczerpaniu kernel throttluje.

  9. CPU w Kubernetes od kernela w górę3/12

    CPU Requests w Kubernetes: czym naprawdę są

    Request to deklaracja zapotrzebowania, nie sufit. Wchodzi do placementu w kube-schedulerze i do wagi CPU po stronie kernela.

  10. seria · 12 części

    CPU w Kubernetes od kernela w górę

    Model CPU od dołu do góry: od runnable tasków i schedulera, przez cgroups, requests i limits, po throttling, contention, PSI i diagnostykę.