2013-07-12 14 views
7

Przeczytałem informacje o losowym zegarze gaussowskim w instrukcji obsługi jmetera, ale jest to trudne do zrozumienia. każdy ma pomysł związany z tym wyjaśnieniem na przykładzie bardzo cenionym. Z góry dziękuję.Trudno zrozumieć zegar losowy Gaussa?

Odpowiedz

18

Gaussowski losowy zegar ma losowe odchylenie (w oparciu o rozkład krzywej Gaussa) wokół stałego przesunięcia opóźnienia.

Na przykład:

  • odchylenia 100 ms
  • Stała opóźnienie przesuwu: 300 ms

opóźnienie będzie się zmieniać od 200 ms (300 - 100) i 400 ms (300 + 100) w oparciu o rozkład Gaussa dla około 68% przypadków.

+0

dziękuję, po prostu chciałem, żeby było trochę jaśniej ... :) – andreio

+1

Edytowałem odpowiedź, aby uniknąć nieporozumień – Alberto

3

Zegar losowy Gaussian jest prawie taki sam jak równomierny losowy zegar.

  • W stroju Losowe Timer wariacja wokół stałej przesunięcie ma rozkład liniowy

  • W Gaussa Losowe Timer zmienność wokół stałej przesunięcie ma rozkład Gaussa krzywej.

+0

Dzięki za powtórkę, odchylenie i stałe przesunięcie opóźnienia wartości wpływają na to, np. Przypuśćmy, że odchylenie wynosi 100, a stałe opóźnienie przesunięcia wynosi 300 w takim przypadku, w jaki sposób zestaw wyników wpływa na te wartości. – Chetan

+0

ma to oznaczać czas pauzy wahać się między 300-100 a 300 + 100, tj. Poniżej i powyżej stałego opóźnienia przesunięcia o odchylenie. – Chetan

+0

Ta odpowiedź nie jest bardzo dokładna, a komentarze nie są dokładne. Przerwa może być mniejsza niż 200 ms lub większa niż 400 ms. Zobacz [moja odpowiedź] (http://stackoverflow.com/a/28768261/413020). – Alberto

7

postaram się wyjaśnić to z jednym z przykładów już Wysłany:

  • Stała opóźnienie offset: 1000 ms
  • Odchylenie: 500 ms

Około 68% opóźnienia będą wynosić od [500, 1500] ms (= [1000 - 500, 1000 + 500] ms).

Według docs (kopalnia nacisk):

Całkowite opóźnienie jest sumą rozkładem Gaussa wartości z (ze średnią 0,0 i odchylenie standardowe 1,0) krotnej wartości odchylenia określić i wartość przesunięcia

Apache JMeter wywołuje Random.nextGaussian() * range, aby obliczyć opóźnienie. Zgodnie z wyjaśnieniem in the Wikipedia, wartość nextGaussian() będzie wynosić od [-1,1] tylko do około 68% przypadków. Teoretycznie może mieć dowolną wartość (chociaż prawdopodobieństwo uzyskania wartości poza tym przedziałem maleje bardzo szybko wraz z odległością do niego).

Jako dowód, napisałem prosty test JMeter, który uruchamia jeden wątek z manekina sampler i Gaussa Losowe Timer: 3000 ms stałym opóźnieniem, 2000 ms Odchylenie:

Gaussian Timer Configuration

Aby wykluczyć kwestie obciążenia CPU, mam skonfigurowane współbieżne dodatkowy wątek z innego manekina sampler i stałej czasowy: 5000 MS:

Constant Timer

wyniki są dość enlighte ning:

JMeter test results

Weźmy na przykład próbek 10 i 12: 9h53'04.449" - 9h52'57.776" = 6.674", że jest to odchylenie od 3.674" w przeciwieństwie do 2.000" skonfigurowanego! Możesz także sprawdzić, czy stały czasomierz odchyla się tylko o 1 ms, jeśli w ogóle.

Mogłem znaleźć bardzo ładne wyjaśnienie tych gaussowskich timerów na liście użytkowników joomra Gmane: Timer Question.

1

Stałe przesunięcie opóźnienia (mu) = 300 ms, odchylenie (si) = 100 ms mu-si = 200, mu + si = 400, Istnieje 68% szans na różnicę czasu między dwoma wątkami w zakresie [200400]

mu-2 (SI) = 100, p, + 2 (SI) = 500, istnieje 95% prawdopodobieństwo odstępu czasowego między dwiema nićmi są w zakresie [100500]

mU-3 (si) = 0, mu + 3 (si) = 300, istnieje 99,7% szans na lukę czasową między dwoma kolejnymi wątkami w zakresie [0,600]

kiedy tak dalej, gdzie dostaniesz 100% prawdopodobieństwo, że przerwa czasowa między dwoma wątkami s 100%

Ograniczam się do 3 iteracji, ponieważ mu-4 (si) daje ujemną wartość, a czas, który upłynął, jest zawsze wartością dodatnią w tym wszechświecie.

Ale to będzie bardzo nierealne, aby polegać na czasomierzu gaussowskim, ponieważ mamy stały czasomierz i stałą przez timer odstawiania bez odchylenia standardowego (si).

Mam nadzieję, że to pomaga.