Hacker News 의견
  • ActivityPub 구현을 다양한 네트워크 크기와 조건에서 테스트하기 위해 비슷한 작업을 조사했음. tc 명령어를 사용하여 특정 인터페이스에 지연을 추가하는 방법을 배웠고, 이는 Docker 컨테이너에서도 잘 작동함. 이미 많은 시스템에 설치되어 있을 수 있음.
    • 예시 명령어: tc qdisc add dev eth0 root netem delay 100ms
  • Netflix에서 'latency monkey'라고 부르는 도구를 개발함. 하류 서비스가 느려지는 것을 감지하는 것이 서비스가 사용 불가능할 때 감지하는 것보다 훨씬 어려움. 이 도구는 패킷을 일정 비율로 떨어뜨려 재전송을 유도하고, 이로 인해 패킷이 지연되거나 순서가 뒤바뀌게 함. 네트워크 접근에 대한 오류 처리 코드에서 많은 문제를 발견함.
  • 인터넷 어플리케이션을 작업하는 모든 소프트웨어 엔지니어는 이와 같은 도구를 일상적으로 사용해야 함. QUIC과 TCP 모두 필요하며, DNS를 포함한 모든 UDP를 캐치할 수 있어야 함. 개발자들이 고성능 컴퓨팅 환경을 사용하지 않으면 웹앱의 90%가 사라질 것이라고 확신함.
  • 많은 앱들이 간헐적인 네트워크 연결 상태에서 성능이 떨어짐. 앱 개발자들이 시뮬레이션된 간헐적 연결성을 테스트함으로써 다른 이들을 도울 수 있음. 많은 앱들이 이메일 클라이언트처럼 '발송 대기함' 기능이 부족함. 재난 구호 상황에서 일반적인 연결 문제를 시뮬레이션하기 위한 참조 toxiproxy '테스트 케이스 변조기'를 누가 개발할 수 있을지에 대한 질문이 있음.
  • Mac에서는 내장 도구를 사용하여 비슷한 작업을 수행할 수 있음. 네트워크 연결 속도를 시뮬레이션하기 위한 명령어 예시 제공.
  • Mac에서 느린 네트워크를 시뮬레이션하고자 할 때 Network Link Conditioner를 발견함. 프록시 설정이나 기타 설정 없이 사용할 수 있으며, Xcode 추가 도구에서 설치해야 함.
  • 오랫동안 활동하지 않았지만, 'comcast'라는 이름이 많은 것을 시사함.
  • Windows에서 사용해본 비슷한 도구로 'clumsy'가 있음.
  • FreeBSD에도 'dummynet'이라는 기능이 있어서 ipfw의 일부로 지연, 대역폭 제한, 큐 크기, 패킷 손실을 주입할 수 있음. MacOS에서와 같은 기능임.
  • 첫 직장에서 매니저가 FreeBSD IPFW 방화벽을 설정하여 ICMP 응답을 느리게 만들었던 일을 잊을 수 없음. 누군가가 핑을 보낼 때마다 응답 시간이 가장 높게 보였음. 그 매니저는 장난꾸러기였음.