Jak dobierać plan testu w testach wydajnościowych przy wykorzystaniu JMeter?

0

Czy test wydajności w którym jeden użytkownik wykonuję w sumie 10 żądań po 1 żądanie na jedną stronę ma sens? Łącznie użytkowników będzie np. 1000 co daję po 1k żądań na jedną stronę w teście.
Dodam że każda strona zawiera co innego, by dało się pokazać, że każdy request trwa inaczej.
Nie wiem na jakiej zasadzie dobrać plan testu, by wyniki były jak najbardziej realne?
Czy są jakieś zasady w tego typu testach, których jest się dobrze trzymać np. że jeden użytkownik robi po 3 requesty w teście niż 10 requestów?

3

Jak dla mnie źle do tego podchodzisz. Powinieneś raczej generować x zapytań na sekundę, a nie patrzeć na liczbę żądania od jednego użytkownika. Żeby wiedzieć jakie żądania robić, najlepiej przeklikaj stronę parę razy przy pomocy testerów i ścieżek krytycznych, zapisz cały ruch do serwera, a następnie z tego odtwórz rozkład zapytań.

1

Polecam rozdział Load Testing (strona 281) z książki Release It!,

Kilka spoilerów poniżej:

Load testing is both an art and a science. It is impossible to duplicate real production
traffic, so you use traffic analysis, experience, and intuition to achieve
as close a simulation of reality as possible. You run in a smaller environment
and hope that the scaling factors all work out.

It was the number
of sessions that killed the site. Sessions are the Achilles’ heel of every application
server. Each session consumes resources, mainly RAM.

Eventually, we realized that noise was our biggest problem. All of our load
testing was done with scripts that mimicked real users with real browsers.
They went from one page to another linked page. The scripts all used cookies
to track sessions. They were polite to the system. In fact, the real world can
be rude, crude, and vile.

None of the load-testing scripts tried
hitting the same URL, without using cookies, 100 times per second. If they
had, we probably would have called the test “unrealistic” and ignored that
the servers crashed.

If you tell testers the “happy path”
through the application, that’s the last thing they’ll do. It should be the same
with load testing. Add noise, create chaos. Noise and chaos might only bleed
away some amount of your capacity, but it might also bring your system down.

0
Afish napisał(a):

Jak dla mnie źle do tego podchodzisz. Powinieneś raczej generować x zapytań na sekundę, a nie patrzeć na liczbę żądania od jednego użytkownika. Żeby wiedzieć jakie żądania robić, najlepiej przeklikaj stronę parę razy przy pomocy testerów i ścieżek krytycznych, zapisz cały ruch do serwera, a następnie z tego odtwórz rozkład zapytań.

Każde żądanie jest inne, każda akcja zwraca co innego np. json, dane z bazy, dodatkowo sprawdzam metody asynchroniczne, synchroniczne itd.
Z tą liczbą użytkowników to przy okazji sprawdzam szybkość poruszania się po aplikacji (Takie coś nie ma sensu, że każdy użytkownik wysyła po 7 requestów?)
Jak najbardziej będę testować, by odpalić bardzo dużo requestów na raz i zobaczyć kiedy padnie serwer.

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