Ciao a tutti, nel nostro post precedente Accelera le prestazioni con Gatling: POST HTTP REQUEST noi abbiamo discusso:
- Quali sono i diversi modi per inviare una richiesta HTTP POST con Gatling?
- Come giocare con i diversi tipi di enti di richiesta utilizzando Gatling?
In questo post parleremo di:
- Come inviare dati dinamici nei corpi di richiesta con i feeder Gatling?
- Quali sono le strategie di alimentazione Gatling?
Supponiamo di simulare un caso d'uso in cui 1000 utenti simultanei stanno tentando di registrarsi all'app. Ora ci sono due modi per farlo: uno è scrivere un metodo di stringa casuale e usarlo nella nostra simulazione e l'altro è separare i dati dalla nostra simulazione definendo un alimentatore.
Alimentatore Gatling
Il feeder è un alias di tipo per Iterator[Map[String, T]]. Gatling DSL fornisce un metodo 'feed' di facile utilizzo che prende l'alimentatore come argomento e legge i dati dall'alimentatore e li inserisce nella simulazione.
pyspark cheat sheet pdf
Gatling ha fornito più alimentatori
Alimentatori di file separati da caratteri
Gatling fornisce vari modi per leggere i dati da file di valori separati da caratteri. Ora ci sono più casi d'uso in cui utilizziamo caratteri separatori diversi nei nostri file di dati come | ‘: @ # $ eccetera.
Quindi possiamo usare
- ore csvfeeder = csv(userData.csv) // usa un separatore di virgola
- ore tsvfeeder = tsv(userData.tsv) // usa un separatore di tabulazione
- ore ssvFeeder = ssv(userData.ssv) // usa un punto e virgola separatore
- ore customSeparatorFeeder = separateValues(hello.txt, '#') // usa il tuo separatore.
Se disponiamo di file di dati di grandi dimensioni, puoi utilizzare il file zip nell'alimentatore Gatling e chiedere a Gatling di decomprimere i dati in fase di esecuzione utilizzando la seguente sintassi
- val csvFeeder = csv(userData.csv.zip).** unzip**
Alimentatori JSON
Sopra abbiamo visto come inviare i dati dai diversi file, ma cosa succede se un utente vuole utilizzare un file JSON come feeder? Proprio come il feeder CSV, Gatling ha un feeder JSON che può inserire i dati dal file JSON o da un URL JSON con la seguente sintassi:
- ore jsonFileFeeder = jsonFile(createUserData.json)
- ore jsonUrlFeeder = jsonUrl ( http://www.json-generator.com/api/json/get/bUPuyHdmcy?indent=2” ;)
Alimentatori JDBC
Come dice il nome, l'alimentatore JDBC fornisce la capacità di leggere i dati dalle connessioni JDBC. Significa che se un utente desidera leggere i dati da un database come MySQL o PostgreSQL, può utilizzare i feeder JDBC che prenderanno l'URL di connessione, le credenziali dell'utente e la query come input e in fase di esecuzione si collegheranno al database come da configurazione definita e iniettare i dati nella simulazione.
apri la finestra mobile del media vault
- jdbcFeeder(databaseUrl, nome utente, password, SELECT * FROM utenti)
Gatling supporta anche altri feeder, ma questi dipendono dal caso d'uso in cui se un utente desidera leggere un file della mappa del sito utilizzando i feeder della mappa del sito, leggere i dati da Redis utilizzando i feeder di Redis e definire un feeder personalizzato secondo il caso d'uso.
#scala #gatling feeder #json feeder
blog.knoldus.com
Gatling alimentatori e strategie di alimentazione
Ciao a tutti, nel nostro post precedente Accelerare le prestazioni con Gatling: POST HTTP REQUEST abbiamo discusso: Quali sono i diversi modi per inviare una richiesta HTTP POST con Gatling? Come giocare con i diversi tipi di enti di richiesta utilizzando Gatling? In questo post parleremo di: Come inviare dati dinamici negli organi di richiesta con i feeder Gatling? Quali sono le strategie di alimentazione Gatling?