I am testing a POST API that requires unique data for each request. I have the input data for POST body in a CSV file.
I have used different feeder options and understand how they work. For this test I am using the default queue and rampUsersPerSec as injector
private val inputData = csv(csvFile).circular / queue / random
…
main_scn.inject(nothingFor(5 second), rampUsersPerSec(fromUserRate) to toUserRate during (durationTimeMinutes minutes)),
Depending on the rampUp scenario/load I keep running into the “Feeder is now empty” error. Based on the thread https://groups.google.com/forum/#!topic/gatling/9ssx0nZy9TA it is evident that I should provide enough records in my CSV file to be able to run the test for say 15 minutes while ramping users from 1 to say 50 per second.
Question:
Is there some formula that I could use to calculate the number of data records (rows) that I will need in my CSV file for a given rampUP Scenario?
Error:
Simulation VfsFileAPI completed in 736 seconds
20:50:36.380 [ERROR] i.g.c.a.SingletonFeed - Feed failed: Feeder is now empty, stopping engine, please report.
20:50:36.380 [ERROR] i.g.h.a.s.HttpRequestAction - 'httpRequest-8' failed to execute: No attribute named 'body' is defined
Exception in thread "main" java.lang.IllegalStateException: Feeder is now empty, stopping engine
at io.gatling.core.action.SingletonFeed$$anonfun$receive$1.applyOrElse(SingletonFeed.scala:61)
at akka.actor.Actor.aroundReceive(Actor.scala:514)
at akka.actor.Actor.aroundReceive$(Actor.scala:512)
at io.gatling.core.akka.BaseActor.aroundReceive(BaseActor.scala:23)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
at akka.actor.ActorCell.invoke(ActorCell.scala:496)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)