Using the "-l" switch on scp works very well.
Its wise to set this switch with lower values than your maximum upload speed.
About higher values, if scp not attending the defined speed this question is related at your ISP that delimitated your upload speed after some seconds.
From the man page: -l limit Limits the used bandwidth, specified in Kbit/s.
I'm not convinced the -l setting works properly with big values: On my RHEL6 system if see:
-l not specified
-l 8000
-l 80000
Using the "-l" switch on scp works very well. Its wise to set this switch with lower values than your maximum upload speed.
About higher values, if scp not attending the defined speed this question is related at your ISP that delimitated your upload speed after some seconds.