社区
网络编程
帖子详情
关于实现限制下载速度的问题
tprax634
2010-05-03 09:40:23
我很菜很疑惑,到底应该怎么办到限制下载速度。下载速度不是由服务器的上行速度,和ISP入口的下行速度决定的吗?那么我们如何插手呢?无论我们怎么做?路由器还是继续收一样多的包啊。。?因为服务器的上行速度和ISP的下行速度是不会变的啊。。路由器收一样多的包,那么该拥挤还是拥挤,空闲还是继续空闲啊。我记得有人说过,sleep了某个流量很大的进程可以起作用。但是就算sleep了,服务器发过来的包还是照样塞满路由器缓冲区,不是吗?那到底怎么实现?还是我理解错了?请大家指点指点
...全文
376
6
打赏
收藏
关于实现限制下载速度的问题
我很菜很疑惑,到底应该怎么办到限制下载速度。下载速度不是由服务器的上行速度,和ISP入口的下行速度决定的吗?那么我们如何插手呢?无论我们怎么做?路由器还是继续收一样多的包啊。。?因为服务器的上行速度和ISP的下行速度是不会变的啊。。路由器收一样多的包,那么该拥挤还是拥挤,空闲还是继续空闲啊。我记得有人说过,sleep了某个流量很大的进程可以起作用。但是就算sleep了,服务器发过来的包还是照样塞满路由器缓冲区,不是吗?那到底怎么实现?还是我理解错了?请大家指点指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hhf
2010-05-03
打赏
举报
回复
按你的topo,可以理解为是outer缓冲区满了丢弃。有些路由器实现是未满就开始丢弃
tprax634
2010-05-03
打赏
举报
回复
详细点分析
outer 路由器缓冲区 inter---- 网卡缓冲区-----程序
当程序不断被sleep,网卡缓冲区的数据读取速度变慢,路由器inter缓冲区等待不到网卡缓冲区队列空闲的时候,就会开始丢弃关于到达这张网卡的包。
你是这个意思吗?我这样理解对吗?
hhf
2010-05-03
打赏
举报
回复
路由器缓冲区拥挤,我们也同样受影响啊?
答:是的。
那路由器凭什么判断什么时候丢包?
答:各路由器实现不同,单cisco的路由器就有好几种qos队列,详细请查看cisco文档或相关设备文档。
我们的程序能够影响路由器让它丢包?
答:你的程序接收慢,路由器队列满,自然就有影响。
服务器不是照样继续发送请求的数据给我们吗?
答:是的。
速度没变啊,至少从服务器到路由器这一段速度是不可能的啊。
答:理解错误,tcp本身就有拥塞避免机制,细节本人也描述不好,为免误导,请查看TCP/IP详解卷一。
tprax634
2010-05-03
打赏
举报
回复
我们的网络情况是由路由器决定的啊,路由器缓冲区拥挤,我们也同样受影响啊?你说它有丢包机制,好,可是服务器向路由器发送包的数目总是那么多,那路由器凭什么判断什么时候丢包?我们的程序能够影响路由器让它丢包?
让我们的程序sleep了,服务器不是照样继续发送请求的数据给我们吗?速度没变啊,至少从服务器到路由器这一段速度是不可能的啊。
hhf
2010-05-03
打赏
举报
回复
就是sleep嘛,但你钻牛角尖了,路由器塞满了不关你的程序什么事的,路由器有自己的丢包处理机制,tcp也有相应的滑动窗口应付拥塞。
尹成
2010-05-03
打赏
举报
回复
tprax634
正解!
requests
实现
一个通用自动下载爬虫(
限制
下载速度
,下载深度)
但是有时候爬取数据可能用不到Scrapy如此大的框架,使用requests库进行下载更加方便,那么我们就可以手动
实现
一个通用的requests库进行下载的爬虫,包括自动下载网页中其他链接的网页,
限制
爬虫爬取的速度,
限制
爬取...
如何
实现
限制
上传或
下载速度
//下载 else { if (bw_rate <= sess->bw_download_rate_max) { //不需要限速 sess->bw_transfer_start_sec = curr_sec; sess->bw_transfer_start_usec = curr_usec; return; } rate_ratio = ...
golang 速度
限制
器ratelimit,web上传
下载速度
限制
用golang做web上传
下载速度
限制
功能,自己写了一个, 闪亮登场…gitee.com/kzquu/wego 的util/ratelimit, 代码非常简单,性能强悍
Android
实现
限速下载
项目中有大容量得文件需要下载,服务器连接得设备比较多,同时下载得话,服务器肯定是受不了了,当时有两种想法 1: 限速下载 2:排队下载 虽然最后采用得是第二种方式,我也把第一种也
实现
了,记录下,分享给...
docker
限制
容器
下载速度
限制
容器的
下载速度
,使用tc命令
实现
上传下载的
限制
,如要
限制
容器的上传的速度,需要在应用的容器内安装iproute工具包,使用tc命令在容器启动时
限制
。 在启动容器时添加标签,org.label-schema.tc.enabled值为1...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章