Computer Science/컴퓨터네트워크(ComNet)

[컴네/CN] 인터넷 성능

gxxgsta 2023. 11. 28. 01:23
반응형
SMALL

 

인터넷 속도 측정

 

 

NIA 인터넷 속도측정

NIA 한국지능정보사회진흥원에서 제공하는 인터넷속도 품질측정 시스템

speed.nia.or.kr

 

인터넷의 속도 측정은 위 사이트로 진행할 수 있다.

이때, 인터넷의 속도를 측정하는 곳이 외국에 있다면 당연히 그 속도는 느리게 나올 것이다.

위 사이트는 속도를 측정하는 국가에 맞추어 국가를 설정해준다.

 

 

Speedtest by Ookla - The Global Broadband Speed Test

Use Speedtest on all your devices with our free desktop and mobile apps.

www.speedtest.net

 

속도 측정은 위 사이트에서도 가능하다.

 

인터넷 속도

 

인터넷의 속도는 위와 같다.

 

크롬 개발자 도구

크롬이나 사파리, 엣지와 같은 브라우저에서는 각 객체마다의 응답시간을 확인할 수 있다.

 

인터넷 성능 지표

 

인터넷 성능 지표는 위와 같으며 하나씩 알아가보자.

 

속도(대역폭, 비트 전송률)

대역폭이란 주어진 시간 동안 컴퓨터 네트워크를 통해 한 지점에서 다른 지점으로 데이터를 한 번에 전송할 때 보낼 수 있는 최대량을 말한다.

 

위 그림에서 붉은 부분을 통해 데이터가 전송된다면, 파이프의 굵기(용량)는 대역폭이 된다.

이때, 두 컴퓨터 사이의 대역폭은 병목지점의 대역폭으로 계산해야 한다.

병목 지점의 대역폭은 단순하게 속도가 가장 느릴 때, 즉 대역폭이 가장 작은 곳이다.

 

인터넷 성능 지표에서 속도는 한 지점에서 다른 지점으로 데이터를 전송할 때

초당 몇 개의 bit가 갈 수 있는지, 즉 비트 전송률을 일컫는다.

 

일정 기간 동안 전송한 데이터의 양을 시간으로 나누어 구하며,

측정 시간의 평균 전송률을 구하고, bps(bits per second)라는 단위를 사용한다.

 

위 사진에서 봤듯이 컴퓨터에서 컴퓨터로 데이터를 전송할 때 많고 다양한 링크를 사용한다.

각 링크는 수많은 컴퓨터와 연결되어 있으므로 데이터의 전송은 여러 개의 링크가 연결된

경로 사이의 전송이라고 할 수 있다.

 

속도는 링크의 오류율, 전파지연, 라우터 큐잉 시간과 같은 변수나

전송 프로토콜 또는 오류 제어 방식에 의해 변동된다.

 

iperf

iperf는 서버 - 클라이언트 간의 네트워크 대역폭 및 속도를 측정하는 도구이다.

속도의 측정 대상을 양방향, 또는 단방향으로 측정할 수 있으며,

위 사진은 클라이언트의 실행 환경에서 1초마다 한 번씩 10초 동안 측정한 값이다.

 

지연 시간(Latency)

지연시간은 아래의 네 가지로 구성된다.

 

전송 시간(transmission delay)

1개의 비트가 컴퓨터에서 전송되는 시간이다.

컴퓨터 내부의 대역폭에 따른 지연시간으로 네트워크 카드에 따라 변경된다.

 

1Kbps인 네트워크 카드는 1/Kbps의 비트 전송률을 가지고 있으며,

1비트를 전송할 때 0.001(1ms)초가 걸린다.

 

전파 시간(propagation delay)

컴퓨터와 컴퓨터 사이를 이동할 때 걸리는 시간이다.

거리에 따라 지연시간이 변동되며 컴퓨터를 떠난 순간부터 측정된다.

 

어떤 곳에서 1bit가 1초에 2*10^8m의 속도로 이동한다고 했을 때,

1000km 떨어진 두 컴퓨터 사이의 1bit 이동 시간은

거리 / 속도로 1000km / 2*10^8m를 계산하면 5ms가 나오게 된다.

 

이때, 전송 시간은 한 라우터에서 패킷을 내보낼 때 걸리는 시간이고, 전파시간은 라우터에서 라우터로 이동하는 시간이다.

 

큐잉 시간(queueing delay)

컴퓨터의 네트워크 카드와 CPU(NPU)에서 발생하는 지연시간으로

컴퓨터 또는 라우터에서 처리되기까지 기다리는 지연시간을 말한다.

 

간단하게 이야기 하자면, 큐에 들어간 후부터 큐에서 나오기까지 걸리는 시간을 말한다.

 

처리 시간(processing delay)

마찬가지로 컴퓨터의 네트워크 카드와 CPU(NPU)에서 발생하는 지연시간으로

패킷 헤더 또는 경로 테이블을 찾는 지연시간을 말한다.

 

간단하게 이야기 하자면, 패킷을 분석하는 데에 걸리는 시간으로

패킷의 헤더를 통해 목적지를 향하는 라우터를 찾는 데에 걸리는 시간이다.

 

 

ping, traceroute

ping와 traceroute를 통해 지연시간을 측정할 수 있다.

 

아래는 ping을 통해 측정한 AWS에서 Google까지의 지연시간이다.

 

아래는 traceroute을 통해 AWS EC2에서 http://www.eurecom.fr까지의 지연시간이다.

 

웹 사이트에서도 지연 시간을 측정할 수 있다.

 

위 사진과 같이 개발자 도구 창에

var loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart; 
loadTime;

 

명령어를 입력하면 페이지의 PLT(Page Load Time)을 확인할 수 있다.

 

손실률

전송 시 패킷 단위의 전송을 가정했을 때

100개의 패킷을 송신한 후 99개의 패킷이 전송에 성공했다고 하면

손실률은 1%라고 할 수 있다.

 

Har 파일

 

크롬의 개발자 도구 창의 붉은 박스 안의 내용을 통해 객체를 요청한 개수를 확인할 수 있다.

이때, 우측 상단의 파란색 원 안의 버튼을 클릭하면 TCP 연결 개수 및 요청한 객체에 대한 정보를 담은 파일이

har 파일로 다운로드 할 수 있다.

 

이때, har 파일은 네트워크의 기록을 json의 파일로 디버그 하는 용도로 사용된다.

 

브라우저를 최적화하는 방법은 아래와 같다.

 

1. CSS, JS, html 등의 우선 순위

2. 자주 가는 곳의 DNS를 미리 해두는 방법

3. 웹 방문 시 자주 사용하는 링크를 미리 가져오는 방법

4. DNS 미리 해두는 방법

5. TCP 연결을 미리 하는 방법

6. 웹 페이지 랜더링을 미리 하는 방법


출처 및 참고

https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Navigation_timing

반응형
LIST

'Computer Science > 컴퓨터네트워크(ComNet)' 카테고리의 다른 글

[컴네/CN] 응용 P2P  (1) 2023.11.29
[컴네/CN] 응용 DNS  (0) 2023.11.29
[컴네/CN] IP Address  (0) 2023.10.14
[컴네/CN] 프로토콜 및 소켓  (1) 2023.10.14
[컴네/CN] HTTP와 Cookie  (0) 2023.10.14