From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meiyo Peng Subject: Re: CDN performance Date: Mon, 17 Dec 2018 14:48:42 +0800 Message-ID: <87d0q01wdx.fsf@gmail.com> References: <20181203154335.10366-1-ludo@gnu.org> <87tvju6145.fsf@gnu.org> <87ftv7l6gy.fsf@gmail.com> <871s6qzo6m.fsf_-_@gnu.org> <874lbk63se.fsf@gmail.com> <877egdyk82.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60852) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gYmi0-0005yN-2O for guix-devel@gnu.org; Mon, 17 Dec 2018 01:48:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gYmhw-0004HF-Kg for guix-devel@gnu.org; Mon, 17 Dec 2018 01:48:56 -0500 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]:34978) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gYmhw-0004Gz-Az for guix-devel@gnu.org; Mon, 17 Dec 2018 01:48:52 -0500 Received: by mail-pl1-x62d.google.com with SMTP id p8so5664783plo.2 for ; Sun, 16 Dec 2018 22:48:52 -0800 (PST) In-Reply-To: <877egdyk82.fsf@gmail.com> (Chris Marusich's message of "Wed, 12 Dec 2018 23:11:25 -0800") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Chris Marusich Cc: guix-devel@gnu.org, 33600@debbugs.gnu.org Hi Chris, Chris Marusich writes: > Meiyo Peng writes: > >> After careful thought, I realized the new CDN won't benefit China >> residents as planned. Any popular CDN outside China is significantly >> throttled by ISP/GFW and the situation is worse every year. A CDN will >> be a great improvement for western countries but not for many asia >> countries. > > Could you try running the measure_get shell function I included in the > following email? > > https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00192.html > > For convenience, here is the definition: > > measure_get () { > curl -L \ > -o /dev/null \ > -w "url_effective: %{url_effective}\\n\ > http_code: %{http_code}\\n\ > num_connects: %{num_connects}\\n\ > num_redirects: %{num_redirects}\\n\ > remote_ip: %{remote_ip}\\n\ > remote_port: %{remote_port}\\n\ > size_download: %{size_download} B\\n\ > speed_download: %{speed_download} B/s\\n\ > time_appconnect: %{time_appconnect} s\\n\ > time_connect: %{time_connect} s\\n\ > time_namelookup: %{time_namelookup} s\\n\ > time_pretransfer: %{time_pretransfer} s\\n\ > time_redirect: %{time_redirect} s\\n\ > time_starttransfer: %{time_starttransfer} s\\n\ > time_total: %{time_total} s\\n" \ > "$1" > } > > Specifically, I am curious to know what performance you get when you run > > measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z9= zdhivbvfzhsz2s5yac-linux-libre-4.19 > > from a computer in China. Please be sure to run it two times in a row, > to ensure that CloudFront has cached the object. > > CloudFront has edge locations in Hong Kong, so I am curious to know what > performance improvement, if any, you observe. Sorry for the delay. My computer was reinstalled with Windows and taken away by my girlfriend. So I have been waiting for my new computer that I bought online to arrive. Finally, it arrived yesterday and I successfully installed Guix on it. I tested your script several times. 1. Tested today at home. China Unicom home broadband. 50Mb/s. The result is slow as usual. curl failed once. berlin-mirror.marusich.info is resolved to Seattle, WA, US. #+BEGIN_EXAMPLE =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 55 66.6M 55 36.9M 0 0 17926 0 1:04:59 0:36:02 0:28:57 = 17733 url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 52.85.158.151 remote_port: 443 size_download: 38764357 B speed_download: 17926.000 B/s time_appconnect: 6.078850 s time_connect: 3.006821 s time_namelookup: 2.659785 s time_pretransfer: 6.079097 s time_redirect: 0.000000 s time_starttransfer: 9.626001 s time_total: 2162.379211 s curl: (92) HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR (err 2) =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 109k 0 0:10:25 0:10:25 --:--:-- = 241k url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 52.85.158.22 remote_port: 443 size_download: 69899433 B speed_download: 111816.000 B/s time_appconnect: 3.507528 s time_connect: 2.650373 s time_namelookup: 2.261801 s time_pretransfer: 3.507637 s time_redirect: 0.000000 s time_starttransfer: 5.995298 s time_total: 625.129571 s =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 109k 0 0:10:23 0:10:23 --:--:-- = 141k url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 52.85.158.22 remote_port: 443 size_download: 69899433 B speed_download: 112187.000 B/s time_appconnect: 2.280972 s time_connect: 1.407197 s time_namelookup: 1.056180 s time_pretransfer: 2.281234 s time_redirect: 0.000000 s time_starttransfer: 3.167703 s time_total: 623.061584 s #+END_EXAMPLE 2. Tested 3 days ago at my office. China Telecom enterprise broadband. 50Mb= /s. Unusually fast! berlin-mirror.marusich.info is resolved to Seattle, WA, US. I have no idea why it's so fast that day. #+BEGIN_EXAMPLE =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 1364k 0 0:00:50 0:00:50 --:--:-- = 1352k url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 13.35.20.109 remote_port: 443 size_download: 69899433 B speed_download: 1397429.000 B/s time_appconnect: 2.432387 s time_connect: 0.200842 s time_namelookup: 0.000446 s time_pretransfer: 2.432659 s time_redirect: 0.000000 s time_starttransfer: 2.673045 s time_total: 50.020945 s =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 1592k 0 0:00:42 0:00:42 --:--:-- = 2506k url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 13.35.20.109 remote_port: 443 size_download: 69899433 B speed_download: 1630687.000 B/s time_appconnect: 0.653270 s time_connect: 0.209455 s time_namelookup: 0.001582 s time_pretransfer: 0.658399 s time_redirect: 0.000000 s time_starttransfer: 0.883126 s time_total: 42.865868 s #+END_EXAMPLE 3. Tested today at my office. China Telecom enterprise broadband. 50Mb/s. Slow as usual. berlin-mirror.marusich.info is still resolved to Seattle, WA, US. I killed the program several times because it hung there with no data transfer for a few minutes. The TCP connection was probably closed by GFW. This is very common here. #+BEGIN_EXAMPLE =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 48110 0 0:24:12 0:24:12 --:--:-- = 41808 url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 52.85.158.151 remote_port: 443 size_download: 69899433 B speed_download: 48110.000 B/s time_appconnect: 0.872926 s time_connect: 0.282048 s time_namelookup: 0.000524 s time_pretransfer: 0.873099 s time_redirect: 0.000000 s time_starttransfer: 1.187467 s time_total: 1452.904154 s =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 2 66.6M 2 1809k 0 0 5760 0 3:22:15 0:05:21 3:16:54 = 0^C% =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 52 66.6M 52 34.9M 0 0 16772 0 1:09:27 0:36:26 0:33:01 = 0^C% =E2=9E=9C ~ measure_get https://berlin-mirror.marusich.info/nar/gzip/1bq= 783rbkzv9z9zdhivbvfzhsz2s5yac-linux-libre-4.19 % Total % Received % Xferd Average Speed Time Time Time C= urrent Dload Upload Total Spent Left S= peed 100 66.6M 100 66.6M 0 0 58181 0 0:20:01 0:20:01 --:--:-- = 87975 url_effective: https://berlin-mirror.marusich.info/nar/gzip/1bq783rbkzv9z= 9zdhivbvfzhsz2s5yac-linux-libre-4.19 http_code: 200 num_connects: 1 num_redirects: 0 remote_ip: 52.85.158.22 remote_port: 443 size_download: 69899433 B speed_download: 58181.000 B/s time_appconnect: 2.297713 s time_connect: 1.904176 s time_namelookup: 1.727602 s time_pretransfer: 2.297974 s time_redirect: 0.000000 s time_starttransfer: 2.503263 s time_total: 1201.408929 s #+END_EXAMPLE Well. As you see, the network in China is both slow and unstable.