Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: xavier 01. 06. 2018, 22:58:09
-
Ahojte, potrebujem otestovat ako sa bude chovat nase asynchronne api v pripade, ze nan pride viacero dotazov v rovnaky cas. Kazdy request moze trvat od 5s do 10s, cize potrebujem nejakym sposobom prevolat dane api niekolko krat, napr v smycke, a nasledne ako budu prichadzat response z jednotlivych volani, tak sa vypise doba trvania jednotlivych requestov.
Skusal som neico take
for ((i=1;i<=100;i++)); do curl -o /dev/null -s -w %{time_total}\\n -X GET http://localhost:8080/api/xxxx?yyy=40; done
ale kazdy request caka kym sa dokonci ten predchadzajuci, a nasledne sa posle dalsi ... potrebujem aby to bolo spustene v jednu chvilu ... viete mi povedat prosim ako na to? Dikes
-
for i in `seq 100` ; do curl 'http://www.google.com' > /dev/null & done
pro každý request to vytvoří nový proces, jestli jich chceš posílat řádově tisíce, není to dobtý způsob
-
Přes curl to sice jde, ale zrovna na tohle existují specializované nástroje: ab, JMeter.
-
Pokud ti staci jednorazovka, mrkni na man xargs a vyhledej 'parallel workers'
-
Na spustanie na pozadi sa pouziva & za prikazom, alebo prikaz bg. Ale ulahci si zivot a pouzi jmeter. Tam si mozes naklikat grafy a reporty.
-
*a, nie alebo (man bg..)
-
Nastrojov na performance web testing je viac ako dost. Moj oblubeny s prepinacmi na tvoj use case:
siege -c <number of simulated users> -v URL