Network

[컴퓨터네트워크] 인터넷 속도 측정

우당탕탕코딩일기 2023. 9. 25. 16:01

 

 

 

인터넷 속도 측정


 

https://www.sppedtest.net/ 

 

http://ww25.sppedtest.net/?subid1=20230925-1614-1283-a30f-95b7c8d1368b

 

ww25.sppedtest.net

 

서버를 물리적으로 가까운 곳에 위치시켜야 성능 좋게나옴. 한국 서버로 접속해서 파일 전송하고 측정하거나 해야됨

 

 

크롬 개발자 도구

 

서버를 개발하면 html, css, js 돌릴 때 서버 얼마나 빠른지 자세한 분석 필요.

 

관련 브라우저가 잘 만들어져있음

크롬 개발자도구 들어가면 network 클릭하면 방문한 사이트에 굉장히 많은 오브젝트들이 전송되는 것 확인가능 응답시간도 확인 가능

(객체마다 응답시간 어떻게 되는지 볼 수 있음)

 

 

일반적인 성능 지표를 알아보자

 

 

 

 

 

인터넷 성능 지표


 

대역폭 : 초당 비트 전송률 / 속도 / 단위 시간당 얼마나 보내냐 

기본적인 단위는 비트 per 세컨드이지만 아닐 때도 있어서 비트인지 바이트인지 단위를 확인할 필요가 있다. 

 

일반적인 도구로 가장 유명한 것은 iperf 이다.

speedtest 는 개발사마다 만든 것인데 iperf 같은 기본 도구를 사용해서 만든것이라 할 수 있다.

종단간(엔드포인트, 서버 -> 클라이언트)의 사이에서 속도를 측정할 수 있다.

 

 

지연 시간: 지연시간이 어떻게 되는가는 단방향은 한쪽방향 양방향으로는 왕복 지연시간(RTT)이 있다. 왕복 지연시간이 우리가 실제로 체감하는 시간이다.

양방향 단방향 측정하는 이유는 갈 때 올 때 시간이 다르기 때문이다. 도로에서도 갈때와 올때 시간이 동일하다고 할 수 없다. 교통 체증이 있는 쪽이 더 시간이 오래 걸릴 것이다. 따라서 네트워크에서도 양방향, 단방향 구분이 필요하다.

 

측정할 일반적 도구로는 ping, traceroute 가 있다.

ping은 종단간 측정하고(서버->클라이언트). traceroute 는 구간별(라우터-호스트)를 측정한다.

 

 

손실률은  %로 나타낸다. 측정 방법은 패킷 전송 카운트이고 측정도구는 ping이다. 이것은 종단간, 구간별 측정이 가능하다.

 

 

 

 

대역폭, 지연시간

 

저 사이에 굉장히 많은 라우터, 선을 거침.

 

 

 

하나씩 자세히 살펴보자

 

 

 

1.  인터넷 성능지표: 속도

 

속도는 비트전송률이다. 속도는 특정 크기의 데이터(파일)을 전송 후 계산한다.

 

해당 이미지에선 포트번호 5001인데 바뀔 수도 있음.

 

 

 

2.  인터넷 성능지표: 지연시간

 

지연시간 구성요소

1. 전송시간: 1개의 비트가 컴퓨터에서 전송되는 시간이다. 네트워크 카드가 100Mbps 가지고 있다, 1Gbps 가지고 있다 등등에 따라 바뀌는 시간이다. 컴퓨터가 가지고 있는 네트워크의 대역폭에 따라 달라진다. 내 컴퓨터가 1비트 쫙 내보내는 시간이 있다. 그 순간이 전송 시간이고 이 비트들을 이동하는 시간이 전파시간이니 헷갈리지 않도록 주의하자. 전송시간은 대역폭에 따라 달라지므로 어느정도 고정적이다. 

 

2. 전파시간:  전파란 패킷이 전선을 타고 이동하는 과정이다. 그러나 무선에서도 발생할 수 있다. 거리에 따라 결정되는 시간이다. (마치 빛의 속도처럼 멀리 있을 수록 오래걸리는..) 주로 대륙간 이동처럼 , 아주 원거리 사이에서 발생할 수 있다. 컴퓨터와 컴퓨터 사이에서 발생한다. 거리는 줄일 수 없기 때문에 전파 시간은 고정되어 있다고 할 수 있다.

 

3. 큐잉시간 : 큐는 대기하는 자료구조, 점심시간에 대기하려고 웨이팅하는 시간이랑 비슷, 컴퓨터 또는 라우터에서 처리되는 것을 기다리는 지연시간이다. 큐잉 지연은 클라이언트, 서버, 라우터(공유기)에서 다 발생할 수 있다. 네트워크 카드가 있으면 다 발생할 수 있다. 큐잉 시간은 가변적이다. 수강신청 서버 생각하면 수강신청 안할 때는 잘 들어가지지만 수강신청 할 때는 오버플로 발생할 수 있는 것처럼..

 

4. 처리시간: 우리가 만든 메시지를 와이어샤크로 캡처하면 헤더를 보고 분석을 해야한다. 그러한 헤더를 처리하는 시간을 처리 시간이라고 한다. 경로테이블 찾는 시간도 처리 시간이다.네트워크 카드를 가지면 발생 가능하다. (클라이언트, 서버, 라우터 등등)

 

 

 

 

 

웹 사이트 지연시간 측정하기

 

- 웹페이지가 뜨는 시간 -> web page load time(PLT)

 : chrome 웹 브라우저 -> 개발자도구 -> console 에서 

 

val = loadTime =

window.performance.timing.domContentLoadedEventEnd-

window.performance.timing.navigationStart; loadTime;

 

 

3.  인터넷 성능지표: 손실률

 

패킷 단위 전송 가정

- 100개의 패킷을 보냈을 때 99개의 패킷이 전송 성공 -> 1% 손실률

 

 

 

 

 


 

 

웹 페이지는 엄청나게 많은 객체를 사용한다.

 

TCP 연결의 개수를 확인하기

https://stackoverflow.com/questions/41572418/how-to-measure-how-many-tcp-connections-were-made-in-a-page

자바 스크립트로 har ( json) 파일 분석 -> connection ID

 - 13개의 TCP 연결이 121개 객체 전송에 사용된 것 확인 가능

 

har file viwer

https://toolbox.googleapps.com/apps/har_analyzer/

 

HAR Analyzer

 

toolbox.googleapps.com

 

728x90