formula to calculate input data size

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!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.

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?


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 io.gatling.core.akka.BaseActor.aroundReceive(BaseActor.scala:23)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(

calculate number of iteration required for user journeys and keep some buffer say 10% more. or

Unique feeder rows required = (Target Throughput/Number of API calls in single journey)*%load on the scenario.