Porównywanie dwóch szeregów czasowych pomiarów wydajności

0

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?

1

Rozkład czasów odpowiedzi NIE jest normalny

A wiesz, jaki jest? To by bardzo wzmocniło testy statystyczne…

Jeśli nie wiesz nic, to test Kołmogorowa-Smirnowa się nada. Ale jeśli wiesz coś — to powinieneś znaleźć mocniejsze testy korzystające z tej wiedzy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1