我想通过ruby服务模拟大型(>100MB)和缓慢的本地文件下载- rails, sinatra, rack或其他东西。
启动服务器并编写类似:http://localhost:3000/large_file.rar的东西后,我想慢慢下载一个文件(用于测试目的)。
我的问题是,如何节流本地web服务器到一定的最大速度?因为如果文件存储在本地,默认情况下下载会非常快。
您应该使用curl
,它允许您使用--limit-rate
选项指定最大传输速度。下面的命令将以每秒10KB的速度下载一个文件:
curl --limit-rate 10K http://localhost:3000/large_file.rar
来自文档:
给定的速度以字节/秒为单位测量,除非后缀是附加。附加' k '或' k '将以千字节计数,' m '"M"表示兆字节,"g"或"g"表示千兆字节。例如:200K, 3m, 1G
给定的速率是在整个过程中计算的平均速度转移。简而言之,这意味着卷曲可能会使用更高的传输速度爆发,但随着时间的推移,它使用的速率不会超过给定的速率。
更多的例子在这里(搜索"速度限制"):http://www.cs.sunysb.edu/documentation/curl/index.html