I would probably advise you to use cURL and send only random things (for example, read 10 MB from /dev/urandom and encode it in base32), through a POST request and manually build the body to upload the file (this is not rocket science).
Enter the script 100 times, possibly on multiple servers. Just make sure that system administrators do not think you are doing DDoS, or something :)
Unfortunately, this answer remains a little vague, but I hope it helps you push you on the right track.
Continued according to Liam's comments:
If the server receiving the downloads is not on the same local network as the clients connecting to it, it would be better to get the most remote nodes for stress testing, at least to simulate the behavior as reliable as possible. But if you do not have access to computers outside the local network, a local area network is always better than nothing.
Testing stress from the same equipment would not be a good idea, since you would do a double load on the server: compute random data, pack it, send it through the TCP / IP stack (although probably not via Ethernet), and only then can the server do its magic. If the transmitting part is outsourced, you get doubled (taken with an arbitrary grain size of salt) on the receiving side.
source share