You could use
Net::FTP to get a reasonably large file (500K) or so, and then use a
localtime() before and after to see how long it would take. Repeat every few minutes with a cron job, and start pushing files over when the time is right. I don't think there is a particular speed test module for FTP (as it depends per server, etc), and benchmarking net connections is circumstantial information at best.
Good luck with it!
--jay