bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Long time no pkt running with limit-rate


From: Darshit Shah
Subject: Re: Long time no pkt running with limit-rate
Date: Tue, 30 Jan 2024 15:23:04 +0700
User-agent: Cyrus-JMAP/3.11.0-alpha0-144-ge5821d614e-fm-20240125.002-ge5821d61

Hi,

Thanks for the report. 
 If I understand you correctly, then this is expected behavior. The way the 
rate limiting is implemented is that it allows a few packets through at the 
maximum bandwidth and then simply sleeps for a time such that the average rate 
is roughly equal to the one set by the user. 

So, waiting for about 70 seconds between packets seems about correct. I don't 
really know how one could implement a better rate limiting algorithm entirely 
in user space. 

On Tue, Jan 30, 2024, at 10:00, Lei B Bao wrote:
> Hi Wget team.
>
> Now we’re using the wget 1.21 version to download a 700K file with a 
> fixed rate-limit 10K, and we want the pkts can be kept running during 
> ~70s, but we found there are about 60s+ no pkt running:
>
>
> root@3c578c2b5c87:/# wget -V
>
> GNU Wget 1.21 built on linux-gnu.
>
>
>
> root@3c578c2b5c87:/# wget 
> http://192.168.200.30:80/wget_traffic_id_2_700KB<http://192.168.200.30/wget_traffic_id_2_700KB>
>  
> -O /dev/null --limit-rate=10K
>
>
>
>
>
> ....
>
> 02:29:28.007124 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [.], ack 698203, win 1391, options [nop,nop,TS val 3141532161 ecr 
> 3882564233], length 0
>
> 02:29:28.007126 IP 192.168.200.30.80 > 192.168.200.200.44544: Flags 
> [P.], seq 698203:700259, ack 151, win 28, options [nop,nop,TS val 
> 3882564233 ecr 3141532160], length 2056: HTTP
>
> 02:29:28.007131 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [.], ack 700259, win 1408, options [nop,nop,TS val 3141532161 ecr 
> 3882564233], length 0
>
>
>
> <<<<< 60s+ no pkts running
>
>
>
>
>
> 02:30:36.358950 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141600513 
> ecr 3882564233], length 0
>
> 02:30:36.568323 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141600723 
> ecr 3882564233], length 0
>
> 02:30:36.776340 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141600931 
> ecr 3882564233], length 0
>
> 02:30:37.184305 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141601339 
> ecr 3882564233], length 0
>
> 02:30:38.032310 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141602187 
> ecr 3882564233], length 0
>
> 02:30:39.696306 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141603851 
> ecr 3882564233], length 0
>
> 02:30:42.960334 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141607115 
> ecr 3882564233], length 0
>
> 02:30:49.808344 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141613963 
> ecr 3882564233], length 0
>
> ^@02:31:03.120308<mailto:%5e@02:31:03.120308> IP 192.168.200.200.44544 
> > 192.168.200.30.80: Flags [F.], seq 151, ack 700259, win 1408, options 
> [nop,nop,TS val 3141627275 ecr 3882564233], length 0
>
> 02:31:29.232320 IP 192.168.200.200.44544 > 192.168.200.30.80: Flags 
> [F.], seq 151, ack 700259, win 1408, options [nop,nop,TS val 3141653387 
> ecr 3882564233], length 0
>
> While we also tested with old version 1.20.1, it seems good, but also 
> about 5 s no pkts running:
>
>
> root@ebe3ce58547c:/# wget -V
>
> GNU Wget 1.20.1 built on linux-gnu.
>
>
>
> root@ebe3ce58547c:/# wget 
> http://192.168.200.30:80/wget_traffic_id_2_700KB<http://192.168.200.30/wget_traffic_id_2_700KB>
>  
> -O /dev/null --limit-rate=10K
>
>
>
> 02:42:00.187604 IP 192.168.200.200.46556 > 192.168.200.30.80: Flags 
> [.], ack 683507, win 195, options [nop,nop,TS val 265728065 ecr 
> 265435757], length 0
>
> 02:42:00.187631 IP 192.168.200.30.80 > 192.168.200.200.46556: Flags 
> [P.], seq 683507:692455, ack 165, win 489, options [nop,nop,TS val 
> 265435757 ecr 265728065], length 8948: HTTP
>
> 02:42:00.187633 IP 192.168.200.30.80 > 192.168.200.200.46556: Flags 
> [P.], seq 692455:698203, ack 165, win 489, options [nop,nop,TS val 
> 265435757 ecr 265728065], length 5748: HTTP
>
> 02:42:00.187633 IP 192.168.200.30.80 > 192.168.200.200.46556: Flags 
> [P.], seq 698203:700259, ack 165, win 489, options [nop,nop,TS val 
> 265435757 ecr 265728065], length 2056: HTTP
>
> 02:42:00.231702 IP 192.168.200.200.46556 > 192.168.200.30.80: Flags 
> [.], ack 700259, win 94, options [nop,nop,TS val 265728110 ecr 
> 265435757], length 0
>
>
>
> <<< ~5s no pkts running.
>
>
>
> 02:42:05.787250 IP 192.168.200.200.46556 > 192.168.200.30.80: Flags 
> [.], ack 700259, win 411, options [nop,nop,TS val 265733665 ecr 
> 265435757], length 0
>
> 02:42:07.746996 IP 192.168.200.200.46556 > 192.168.200.30.80: Flags 
> [F.], seq 165, ack 700259, win 443, options [nop,nop,TS val 265735625 
> ecr 265435757], length 0
>
> 02:42:07.747292 IP 192.168.200.30.80 > 192.168.200.200.46556: Flags 
> [F.], seq 700259, ack 166, win 489, options [nop,nop,TS val 265443317 
> ecr 265735625], length 0
>
> 02:42:07.747302 IP 192.168.200.200.46556 > 192.168.200.30.80: Flags 
> [.], ack 700260, win 443, options [nop,nop,TS val 265735625 ecr 
> 265443317], length 0
>
>
> So, do you think does it work as expected? And any work around way?
>
> Thanks,
> Bali



reply via email to

[Prev in Thread] Current Thread [Next in Thread]