명령줄에서 호스트의 대역폭을 측정하고 싶습니다.
많은 호스트가 인터넷에 접속되어 있으며 내 통제 범위를 벗어났습니다. 이는 실제 인터넷 연결 대역폭을 테스트하는 데 사용됩니다. 서버 측 설정 방법에 따라 사이트 연결이 총 대역폭보다 느릴 수 있음을 이해합니다. 몇 개의 신뢰할 수 있는 호스트에서 속도 테스트를 실행하여 이를 직접 제어할 계획입니다.
google.com에 대한 SSH 액세스 권한이 없기 때문에 SCP와 같은 솔루션은 작동하지 않습니다.
또한 내가 제어하는 LAN의 호스트에도 사용할 것입니다. 따라서 이상적인 솔루션은 웹페이지에서 리소스를 다운로드하는 것이며, 테스트 방법과 호환되도록 만들기 위해 더미 웹사이트를 사용하여 nginx를 실행할 수 있습니다.
내 목표는 내 인터넷 연결을 진단하는 것입니다. 나는 인터넷 연결 대역폭과 라우터 연결 대역폭을 비교하고 싶고, 시간이 지남에 따라 이 작업을 여러 번 수행하여 하루 중 느린 시간이 있는지 확인하고 싶습니다. 속도 테스트 중에 실행되는 다른 프로그램이 결과를 왜곡할 수 있다는 것을 알고 있지만, 데이터를 분석할 때 이 문제를 처리할 의향이 있습니다.
이전에 나는속도 테스트 CLI그러나 이것은 매우 제한적입니다. 해당 회사 서버만 사용하고, 시간도 오래 걸리며, LAN 대역폭을 테스트하는 데에는 사용할 수 없습니다.
답변1
많은 호스트가 인터넷에 접속되어 있으며 내 통제 범위를 벗어났습니다.
당신은 기본적으로 할 수 없습니다. 다른 호스트는 귀하와 협력해야 합니다. 즉, 귀하가 만든 HTTP 요청(즉, 파일을 다운로드할 때)에 대한 응답으로 데이터를 보낸다는 의미입니다. 하지만 연결이 허용하는 한 빨리 이 작업을 수행할 것이라고 믿어야 합니다. 일반적으로 더 큰 HTTP 서버는 이 작업을 수행하지 않습니다. 트래픽 조절 기능이 있습니다(특정 금액까지는 연결 대역폭에 대해 비용을 지불한다는 점을 고려해야 하며 트래픽이 있는 서버는 작은 요청이 처리되면 사라집니다. 이는 2GB 요청보다 25% 빠릅니다.
다른 호스트는 대용량 파일에 유용한 HTTP 또는 기타 서비스를 전혀 제공하지 않거나 대용량 파일을 전혀 제공하지 않습니다. 작은 파일은 선택 사항이 아니며 승인 오버헤드가 상당합니다.
Speedtest CLI를 사용했지만 이는 매우 제한적입니다. 그 회사 서버만 사용하는데 시간이 오래 걸리네요
글쎄, 이 모든 것 뒤에 있는 비즈니스 구조가 무엇인지는 모르지만 이러한 서버는 신뢰할 수 있는 테스트를 실행하는 데 필요한 트래픽에 대해 기꺼이 비용을 지불하려는 사람들일 뿐입니다. 이는 본질적으로 테스트가 1초 이내에 완료될 수 없음을 의미합니다. 연결 시간 오버헤드가 있을 뿐만 아니라 ISP 측의 활성 트래픽 조절도 있습니다.
그래서 당신은 불가능한 것을 원하는 것 같습니다.
다행스럽게도 당신은 쓸모없는 것을 원한다고 생각합니다. 애플리케이션 수준의 안정성과 처리량 측정을 원한다면다른 것이 아닌 애플리케이션을 측정하세요. 즉, YouTube가 얼마나 빠른지 알고 싶다면 yt-dlp
(또는 다른 YouTube 클라이언트)를 사용하여 rickroll 동영상을 다운로드하세요. SSH 연결이 작동하는지 테스트하려면 SSH 테스트를 수행하세요. IMAP 서버 연결이 얼마나 잘 작동하는지 테스트하려면 20000개의 메시지가 포함된 메일 폴더 목록을 가져와서 시간을 측정한 다음 새 폴더를 만들고 20MB의 메시지를 넣은 다음 해당 폴더와 폴더를 다시 삭제한 다음, 시간이 온다. DNS 확인이 얼마나 잘 수행되는지 알고 싶다면 DNS 확인자에게 확인을 요청하세요.
이로 인해 다양한 서비스를 제공하는 다양한 서버에 대해 직접 비교할 수 있는 수치가 나오나요? 습관.
이 숫자가 실제로 귀하의 사용량에 어떤 의미가 있습니까? 예!
또한 내가 제어하는 LAN의 호스트에도 사용할 것입니다.
LAN 대역폭을 테스트하려는 경우: 이는 단지 네트워크 카드와 스위치의 기능일 뿐입니다. 25Gb/s보다 빠른 NIC를 처리하지 않는 한(거의 언급하고 있는 것으로 확신함) 최대 패킷 크기를 사용하고 과도한 주기적인 승인을 피하면 최신 PC는 LAN의 회선 속도를 포화시킬 수 있습니다. 패킷의 .
특정 응용 프로그램 요청(예: SMB/CIFS 파일 공유, 비디오 스트리밍, 백업 수신)에 반응하는 컴퓨터의 능력을 테스트하려면 해당 실제 응용 프로그램을 다시 테스트하십시오.
실제로 스트레스 테스트를 하려는 상황에서는네트워크 스택(애플리케이션 수준의 소프트웨어/OS/하드웨어 협업이 아닌) iperf3
아마도 명령줄 애플리케이션을 선택할 것입니다. 그러나 고의적으로 비효율적(작은 패킷, 짧은 경합 창, 인위적인 패킷 손실)으로 구성을 설정하지 않는 한 최신 PC는 눈 하나 깜빡하지 않고도 1Gb/s 이더넷 네트워크를 포화 상태로 만들 수 있습니다.