Just an idea, create a groovy script teststep which will set and fire the request.
Create your loadtest under the same testcase, which will run the script.
The request is in another testcase, which has a custom property (here named ID).
This is very simple, since it runs from id = 1000 to 2000 step by step
See the attached screenshot.png
The script could look like this
def req = testRunner.testCase.testSuite.project.testSuites['testsuite'].testCases['testcase1']
def device_ID = req.getPropertyValue('ID')
def request =
"""
<post>
<accountId>2500000000</accountId>
<deviceId>${device_ID}</deviceId>
<key>Program</key>
<value>on</value>
</post>
"""
req.setPropertyValue('ID', (device_ID.toInteger() + 1).toString())
req.testSteps['request'].getProperty('Request').setValue(request)
req.run(null, false)
//save the requests and responses
def writer = new File('d:/log.txt')
writer.append('\nrequest\n')
writer.append(req.testSteps['request'].getProperty('Request').getValue())
writer.append('\nresponse\n')
writer.append(req.testSteps['request'].getProperty('Response').getValue())