Taki klasyczny problem:
Mamy system informatyczny, który na zapytanie odpowiada po jakimś czasie. Oczywiście czas ten nie jest stały, tylko podlega różnym losowym czynnikom. Wysyłamy milion zapytań, notujemy czasy odpowiedzi i uzyskujemy szereg czasowy X. Po wrzuceniu nowej wersji systemu powtarzamy eksperyment, otrzymując szereg Y.
Pytanie - czy wprowadzone zmiany istotnie wpłynęły na rozkład czasów odpowiedzi? Czy rozkład X różni się istotnie od Y i w jaki sposób?
Rzeczy, które trzeba jakoś uwzględnić:
- Wyniki mogą zawierać pokaźną dawkę autokorelacji. Np. serwer się zagrzał i obniżył częstotliwość CPU, więc 10k kolejnych zapytań wykonało się wolniej.
- Rozkład czasów odpowiedzi NIE jest normalny.
- Interesuje nas nie tylko średni czas odpowiedzi, ale ogólnie cały rozkład, m.in. mediana oraz percentyle aż do 99.99. Chcielibyśmy móc wykryć, że np. po zmianie GC z G1 na ZGC znacząco poprawił się "ogon" rozkładu i że nie jest to przypadek.
Zdobienie histogramów jest banalnie, ale jak je porównać na istotne różnice?