In which case, I'd suggest trying something like a cgi that does:
(No code I'm afraid, I don't have my real computer to experiment with)
- Takes a time stamp (maybe using Time::HiRes)
- Prints a load of data to the browser in comments (note, make sure that 'autoflush' is on)
- Takes another timestamp and compares the two. Given your known quantity of data transmitted you should be able to figure out bandwidth.
I'm not 100% certain that a CGI will pause if a buffer overflows. If it doesn't, then what you'd need to do is something smart with multipart mime, to refresh to another CGI.
The trick I picked up from bigbrother (http://bb4.com) is to print multipart mime pages, and then you can stick a refresh header in it at the bottom. So you have your 'big' page, that prints out, hits the refresh 0 and then redirects to your 'finished' page. That compares the timestamps, and prints an output.
I have an example, but not handy. If someone doesn't beat me to it, I'll try and remember to post it tomorrow.