How to improve QPS?

My scenario likes the below:

val scn = scenario(“Test”)
.exec(http(“GetFileKey”)
.post("/rest/n/file/key")
.queryParam(“a”, “123”)
.check(jsonPath("$.key").saveAs(“key”))
)
.exec(session => {
// SECOND
val file =
val key =
val host =
val port =
session.set(“upload”, new UploadManager.upload(file, key, host, port)) // Use Java code
})
.exec(http(“Commit”)
.post("/rest/n/file/commit")
.queryParam(“b”, “456”)
.check(jsonPath("$.result").is(“OK”))
)

Now qps only equals: GetFileKey = 4, Commit = 4
cannot continue to advance.

maybe SECOND need improve???
gatling use multiple-process???

Gatling is a multi-threaded by is implemented with non-blocking clients in mind. If your UploadManager is a blocking one, you must delegate to your own threadpool, otherwise you’re blocking the orchestration threads and hurting performance.
Note that blocking clients typically don’t scale properly.