You can specify your test desired duration via "Duration (seconds)" input of the Thread Group
If you want to have "stable" load of 1000 concurrent users after the ramp-up time make sure to tick "Infinite" box next to "Loop Count"
You can observe how many virtual users were online in this or that period of your test execution using Active Threads Over Time ...
As per How do JSON Web Tokens work? article:
Whenever the user wants to access a protected route or resource, the user agent should send the JWT, typically in the Authorization header using the Bearer schema. The content of the header should look like the following:
Authorization: Bearer <token>
So you should design your test plan as follows:
This is not a Jmeter issue. As the error message implies "User already exist!". It's because you already registered the user and just re-running the recorded scripts. Basically, they have the same details.
You need to modify the payload/request body when you run it again. Ask your developer on which values should be unique.
Here's sample code on how to ...
If your application prohibits authorization to one user several times, there are two possible ways:
Create as many test user as you need to run concurrently and use their unique credential for each session. You can use a CSV Data Set Config for it.
Ask developers to hardcode test login to allow this login without limitation.
Most probably your system simply doesn't allow multiple registrations using the same credentials set, looking into your request body "suspicious" parameters are:
Well-behaved load test should represent real life application usage as close as possible, it means that each JMeter thread (virtual user) must represent a real user. Two ...
If you want to keep this Extract token Post-Processor at the same level as other Samplers - you will need to remove the Debug Sampler and use i.e. Debug Post-Processor instead as given your current Test Plan:
Extract token Post-Processor is being applied to Login sampler and (hopefully) gets the token
Extract token Post-Processor is being applied to Debug ...
Looking into Introduction to JSON Web Tokens article, the tokens have
exp (expiration time)
I don't think you should be obtaining a new JWT token for each and every request, my expectation is that you need to do this only once, via i.e. Once Only Controller and refresh it only if your test duration exceeds the token life span.
You can inspect JWT ...
I'm under impression you're doing the wrong thing, you should not be testing Swagger UI itself, my expectation is that you need to test the REST API endpoint instead, Swagger UI can only be used for examining and playing with the APIs.
You may find Taurus tool useful, it comes with swagger2yaml utility which can convert Swagger UI definitions into Taurus ...