Here is an outline of how we would use to address the problem you describe:
(1) The eValid browser-based test engine will let you record a functional test session that handles the login to the portal, uploads a file, sends the file somewhere on the web, and then waits for the result of it being processed by the web service to arrive.
The last step, measuring how long the final result takes, probably would be done in eValid with a DOM-based test playback synchronization command.
Timing precision of the result would be to the nearest 10 msec; this is the minimum retry interval for the DOM-based playback synchronization command.
A single test like this probably could be created and perfected in eValid in somewhat less than 1 day.
(2) Next you would provision this test for use in a LoadTest run that would launch 100 Browser Users (BUs) on a single user account on your basic machine.
At this step we would modify the script to report just the single response time parameter plus a timestamp to a local file. This is a very low overhead way to collect basic data from within each playback into a single easily handled file.
From experience, we know that 100 BUs would probably be the limit for a single user account, due to limitations in heapspace and RAM.
(3) To get to 1,000 BUs, you would need a strong machine -- we use Amazon's "m2.4xlarge" images -- with 10 separate user accounts, where each user account is running 100 BUs.
It's relatively inexpensive to use the large machines in the cloud compared with buying the hardware for your own lab.
(4) To get to your goal of 3000 BUs, simply repeat (3) on three different Amazon images.
(5) At the end of this experiment it is a simple matter to collect the files of timestamped response time data into a spreadsheet and generate a response time versus imposed load graph.
Here is a detailed writeup of a load-test run we made that involved driving 1,000 "mobile device" users that uses this same approach:
http://www.e-Valid.com/Products/Documentation.9/Mobile/1000-BUs.html ________________________
eValid Tech Support