Vícenásobné volání API pomocí curl

xavier

Vícenásobné volání API pomocí curl
« kdy: 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

Kód: [Vybrat]
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
« Poslední změna: 03. 06. 2018, 18:55:10 od Petr Krčmář »


gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Viacnasobne volanie API pomocou curl
« Odpověď #1 kdy: 01. 06. 2018, 23:23:52 »
Kód: [Vybrat]
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

Franta <xkucf03/>

Re:Viacnasobne volanie API pomocou curl
« Odpověď #2 kdy: 02. 06. 2018, 00:48:14 »
Přes curl to sice jde, ale zrovna na tohle existují specializované nástroje: ab, JMeter.

Youda

Re:Viacnasobne volanie API pomocou curl
« Odpověď #3 kdy: 02. 06. 2018, 09:57:12 »
Pokud ti staci jednorazovka, mrkni na man xargs a vyhledej 'parallel workers'

andy

Re:Viacnasobne volanie API pomocou curl
« Odpověď #4 kdy: 02. 06. 2018, 11:49:27 »
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.


andy

Re:Viacnasobne volanie API pomocou curl
« Odpověď #5 kdy: 02. 06. 2018, 11:51:57 »
*a, nie alebo (man bg..)

private-name

Re:Viacnasobne volanie API pomocou curl
« Odpověď #6 kdy: 02. 06. 2018, 17:22:14 »
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