LoadRunner: obliczanie tempa
Jak obliczyć tempo w LoadRunner?
D = czas trwania testu (okno testowe/ramka czasowa)
B = Czas bazowy (całkowity czas potrzebny 1 użytkownikowi do wykonania 1 całej iteracji)
T = całkowita ilość czasu myślenia w skrypcie
I = oczekiwana/docelowa iteracja
R = pozostały czas Okna testowego.
R = (D – (T + B)*I)
P = interwał stymulacji
dzielenie czasu resztkowego przez iterację docelową daje interwał stymulacji
stąd: P = R/i
D to czas stymulacji.
(T + B)*reprezentuję czas trwania scenariusza, A P to czas oczekiwania przed następnym scenariuszem
Obliczanie czasu stymulacji/czasu myślenia w celu osiągnięcia 50 TPS przy średnim czasie reakcji 0,5 sekundy przy łącznie 100 użytkownikach
Zacznijmy od obliczenia całkowitej liczby transakcji w ciągu godziny.
1 sec = 50 transakcji
transakcji na godzinę przez 100 użytkowników =50 TPS *3600 sec = 180000 transakcji
mamy całkowitą liczbę użytkowników podaną jako 100. Zobaczmy, jak obliczyć, ile transakcji dokona każdy użytkownik.
całkowita liczba użytkowników = 100
każdy użytkownik wykona 180000/100=1800 transakcji/godzinę
ponieważ każda transakcja zajmuje średnio 0,5 sekundy, zobaczmy, ile czasu potrzeba do wykonania transakcji każdego użytkownika.
aby wykonać 1800 transakcji, zajmie to 1800*0.5 = 15 minut
zobaczmy więc, ile czasu potrzeba, aby wykonać wymaganą liczbę transakcji na użytkownika w ciągu godziny.
1800 transakcji zostanie zrealizowanych w ciągu 15 minut
stąd wymagane jest 45 minut czasu myślenia pomiędzy 1800 transakcjami (tj. 45*60 = 2700 sekund czasu myślenia wymaganego między 1800 transakcjami (na użytkownika))
2700 sekund wymaganych dla 1800 transakcji
x = 1,5 sekundy zastanów się, ile czasu potrzeba, aby uwzględnić
zobaczmy, ile czasu potrzeba, aby ukończyć każdą iterację.
Całkowity czas wymagany do ukończenia każdej iteracji = x + 0,5 sekundy = 1,5 + 0,5 = 2 sekundy
weryfikacja: sprawdźmy, czy powyższe obliczenia są poprawne.
Całkowity czas = 1800 * 2 = 3600 sekund = 1 godzina
Tak więc każdy użytkownik wykona 1800 transakcji, w których zapewnimy 2 sekundy na każdą iterację.