속도 테스트에서 정확한 MBit/s를 계산하세요.

속도 테스트에서 정확한 MBit/s를 계산하세요.

wget속도는 일반적으로 요약에 표시된다는 것을 알고 있습니다 . 하지만 작은 OpenWRT 셸에서 100MB를 다운로드하는 데 걸리는 시간을 테스트하고 싶습니다.

t=$(date +"%s")
wget http://speedtest.netcologne.de/test_100mb.bin -O ->/dev/null
echo -n "mBit/s:"; expr 8 \* 100 / $(($(date +"%s")-$t))

설명하다:

  1. 타임스탬프를 $t에 저장
  2. 100MB를 다운로드하지만 아무것도 저장하지 않음
  3. 계산하다8 * 100mb / $t

실제로 MBit/s를 얻으려면 더 많은 계산을 추가해야 합니까? 어쩌면 1.024를 몇 번 곱하거나 나눌 수도 있을까요?

또한 이 링크를 통해 wget을 사용한 다운로드가 항상 정확히 100MB가 아니라는 것을 알았습니다. 파일로 저장하지 않고 올바른 다운로드 MB 크기를 어떻게 얻을 수 있습니까?

답변1

Content-Length전부는 아니지만 많은 사이트에서 제목 필드에 크기를 표시합니다. 을 사용하여 해당 정보를 얻을 수 있지만 wget -S다운로드를 비활성화하는 옵션은 없는 것 같습니다. curl -D이것도 할 것입니다.

그러나 lynx를 사용하여 헤더를 가져올 수 있습니다. 예를 들면 다음과 같습니다.

$ lynx -dump -head http://speedtest.netcologne.de/test_100mb.bin
HTTP/1.1 404 Not Found
Server: nginx/1.6.2
Date: Sat, 13 Aug 2016 14:35:45 GMT
Content-Type: text/html
Content-Length: 168
Connection: close

이는 다음보다 더 간결합니다 wget.

$ wget -S http://speedtest.netcologne.de/test_100mb.bin
--2016-08-13 10:29:51--  http://speedtest.netcologne.de/test_100mb.bin
Resolving speedtest.netcologne.de (speedtest.netcologne.de)... 78.35.18.142
Connecting to speedtest.netcologne.de (speedtest.netcologne.de)|78.35.18.142|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 404 Not Found
  Server: nginx/1.6.2
  Date: Sat, 13 Aug 2016 14:29:51 GMT
  Content-Type: text/html
  Content-Length: 168
  Connection: keep-alive
2016-08-13 10:29:51 ERROR 404: Not Found.

제공된 URL이 잘못되었습니다. 라이브 웹사이트의 경우 더 많은 일이 발생합니다.

$ lynx -head -dump http://unix.stackexchange.com
HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Content-Length: 77651
Content-Type: text/html; charset=utf-8
Expires: Sat, 13 Aug 2016 14:39:01 GMT
Last-Modified: Sat, 13 Aug 2016 14:38:01 GMT
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 4da57e2b-c682-4e63-8fad-9415b23cd43e
Accept-Ranges: bytes
Date: Sat, 13 Aug 2016 14:38:01 GMT
Via: 1.1 varnish
Connection: close
X-Served-By: cache-iad2627-IAD
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1471099081.842119,VS0,VE17
Vary: *
X-DNS-Prefetch-Control: off
Set-Cookie: prov=31367c00-2e03-4760-79fe-d4e13e52792e; domain=.stackexchange.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly

비교적

$ wget -S http://unix.stackexchange.com
--2016-08-13 10:38:51--  http://unix.stackexchange.com/
Resolving unix.stackexchange.com (unix.stackexchange.com)... 151.101.129.69, 151.101.193.69, 151.101.1.69, ...
Connecting to unix.stackexchange.com (unix.stackexchange.com)|151.101.129.69|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Cache-Control: public, max-age=60
  Content-Type: text/html; charset=utf-8
  Expires: Sat, 13 Aug 2016 14:39:51 GMT
  Last-Modified: Sat, 13 Aug 2016 14:38:51 GMT
  X-Frame-Options: SAMEORIGIN
  X-Request-Guid: d7279b7d-1605-49dc-9851-4658308bf6b1
  Content-Length: 77662
  Accept-Ranges: bytes
  Date: Sat, 13 Aug 2016 14:38:51 GMT
  Via: 1.1 varnish
  Connection: keep-alive
  X-Served-By: cache-iad2633-IAD
  X-Cache: MISS
  X-Cache-Hits: 0
  X-Timer: S1471099131.339794,VS0,VE16
  Vary: *
  X-DNS-Prefetch-Control: off
  Set-Cookie: prov=77b452f3-9269-f933-e756-b4eb3010dc30 domain=.stackexchange.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Length: 77662 (76K) [text/html]
Saving to: `index.html.1'

100%[======================================>] 77,662      --.-K/s   in 0.02s   

2016-08-13 10:38:51 (3.54 MB/s) - `index.html.1' saved [77662/77662]

관련 정보