
Egy szolgáltatás két szervere külön p95 válaszidőt jelent. Kézenfekvőnek tűnik a két érték átlagolása, ez azonban általában más számot ad, mint az összes kérésből meghatározott p95. A percentilis a rendezett mérések egy helyét jellemzi. Az egyes csoportokból kiemelt helyértékek nem őrzik meg a teljes eloszlást.
Az itt szereplő példák szándékosan egyszerűek. Azonos időablakból származó, külön kérések válaszidejét mérjük milliszekundumban, és a nearest-rank, azaz felfelé kerekített sorszám szerinti módszert használjuk. Más percentilisszámítási mód kis mintán eltérő eredményt adhat.
A számítási szabály legyen látható
Először rendezd a válaszidőket növekvő sorrendbe. n darab mérésnél a p95 sorszáma 0,95 × n felfelé kerekítve. A sorszámozás egytől indul. Az ezen a helyen álló mérés a példák p95 értéke.
Húsz mérésnél 0,95 × 20 = 19, tehát a tizenkilencedik értéket választjuk. Ha tizennyolc mérés 100 ms, kettő 1000 ms, a tizenkilencedik mérés 1000 ms. A leglassabb két kérés együtt a minta 10%-a.
A p95 így egy eloszlási határt ad, az átlagos válaszidőt vagy a legnagyobb értéket külön kell számolni. Egyetlen extrém lassú kérés lényeges lehet akkor is, ha a p95 értéket nem módosítja.
Két egyforma méretű mérési csoport
Az A szerver száz kérésének mindegyikéhez 100 ms-os válaszidőt mérünk. B szerver száz kérésének mindegyike 1000 ms. Saját p95 értékük rendre 100 és 1000 ms. A két szám átlaga 550 ms.
Összevonva kétszáz kérésünk van: az első száz rendezett érték 100 ms, a következő száz 1000 ms. A p95 sorszáma 0,95 × 200 = 190, ezen a helyen 1000 ms áll. A teljes szolgáltatás p95 értéke tehát 1000 ms, miközben a két p95 átlaga 550 ms.
A különbséghez nincs mérési hiba vagy eltérő időablak. Maga az összesítési módszer helytelen. A csoportok azonos mintaszáma sem teszi átlagolhatóvá a percentilist.
A mintaszámmal súlyozás sem általános megoldás
Második forgatókönyvben A szerver 1900 darab, egyenként 100 ms-os kérést, B szerver száz darab, egyenként 1000 ms-os kérést teljesít. A saját p95 értékek továbbra is 100 és 1000 ms.
A kétezer mérés összesített p95 sorszáma 0,95 × 2000 = 1900. Ezen a helyen még 100 ms áll, ezért a megadott módszerrel az összesített p95 100 ms. A 100 ms-nál lassabb csoport pontosan 5%-os; ez a példa a választott definíció határhelyzetét is mutatja.
A mintaszámokkal súlyozott p95-átlag (1900 × 100 + 100 × 1000) / 2000 = 145 ms. Ez sem egyezik a 100 ms-os összesített percentilissel. A példában a 145 ms történetesen a teljes átlagos válaszidő, mert mindkét csoport minden eleme azonos; általános eloszlásnál a csoport p95-ökből az átlag sem áll elő.
A százalékkalkulátor a mintaarányok és a kiválasztott sorszám előtti szorzás ellenőrzéséhez adhat általános segítséget. A percentilis meghatározásához a rendezési és kerekítési szabályt külön kell alkalmazni.
Milyen adatot érdemes megőrizni?
Az összesítésről szóló Prometheus-dokumentáció megmutatja, miért korlátozottak a már kiszámított kvantilisek, és hogyan használhatók eloszlási adatok. Az összes kérés nyers méréséből újraszámítható a percentilis. Nagy adatmennyiségnél megfelelően kialakított és összevonható hisztogram is használható, a módszerhez tartozó becslési pontosság figyelembevételével.
A csoportok ugyanazt a mérési mennyiséget és időablakot fedjék le. Egy teljes nap p95 értékét a perces p95 pontok átlagából szintén nem kapjuk meg. Az egyes percek forgalma és a válaszidők eloszlása eltérhet.
Az időtúllépéseket és hibás kéréseket is dokumentáltan kezeld. Ha csak a sikeresen befejezett válaszok kerülnek a mérésbe, a kimaradó lassú hibák kedvezőbb képet mutathatnak. A p95 mellé tedd oda a mintaszámot, a hibaarányt és a mérés pontos jelentését, például szerveroldali feldolgozás vagy teljes kliensoldali várakozás.
Tudáspróba
1. Hányadik rendezett érték a nearest-rank p95 kétszáz mérésnél?
- A: A századik.
- B: A százkilencvenedik.
- C: Az utolsó.
2. Száz 100 ms-os és száz 1000 ms-os kérés összesített p95 értéke mennyi a megadott módszerrel?
- A: 550 ms.
- B: 100 ms.
- C: 1000 ms.
3. Melyik adat alkalmas az összesített percentilis újraszámítására?
- A: Az összes kérés mérése vagy megfelelő összevonható eloszlási adat.
- B: Kizárólag a két csoport p95-ének egyszerű átlaga.
- C: Kizárólag a szerverek száma.
Megoldások és következő lépés
1. B. 0,95 × 200 = 190, így nincs szükség további kerekítésre.
2. C. A százkilencvenedik érték az 1000 ms-os csoportban található.
3. A. Az összesített eloszlás információja szükséges; a két kiemelt percentilis ezt nem őrzi meg.
0–1 pont: rendezd kézzel a húszelemű bevezető példát. 2 pont: vezesd végig a két kétszerveres forgatókönyv sorszámait. 3 pont: ellenőrizd a saját felügyeleti rendszered aggregálását, mintaszámait és a hibás kérések kezelését.


