최대 대역폭 측정하기

mugman의 이미지

특정 프로세스에서 해당 호스트의 현재 최대 대역폭 (인터넷속도?) 를 알려면
어떤식으로 짜야할까요..

대충 찾아본 결과 소켓을 이용해서 특정 서버에 1초동안 바이트를 보내서
전송된 량을 체크하는 방식이 있던데 아직 초보라서 그런지
이 말도 확실히 와닿지가 않아서 어떻게 구현해야 하는지 감이 잡히질 않네요,

아니면 관련 예제소스같은걸 구할곳이 없을까요?

kslee80의 이미지

(보통 사용하는) 대역폭의 단위인 Mbps 는
"초당 전송된 bit 수" 를 의미하는 단위입니다.
그렇기 때문에 그런 방식이 나오는 것이죠.

Mbps 말고도 KB/s, MB/s 같은 단위도 다 기준 시간 단위가 초입니다.

와 닿으셨나요?

mugman의 이미지


회선속도 단위의 의미를 물어본게 아닙니다만;
어떤 특정서버에 데이터를 쏘는 방식이라면 소켓을 어떤 소켓을 할당해서
어떤서버로 어떤데이터를 어떤루틴으로 쏴야하는것이며,

1초간 전송한 데이터량을 어떻게 체크해야 하는지에 대한 질문입니다 ㅠ_ㅠ;

bushi의 이미지

전송하고자 하는 데이타를,
전송하고 하는 서버로,
전송하려 하는 소켓을 이용해서 전송한 후,
걸린 시간을 측정하면 되는 것.

예를 들자면,

ping -c 1 -s 65507 my.gateway.where \
| grep from \
| sed -e 's/^\(.*\) bytes .* time=\(.*\) ms/\1 bytes, \2ms/'

정도 ?