비슷한 질문이 많이 있었지만 지금까지 내 문제에 대한 해결책을 찾지 못했습니다.
나는 웹 사이트의로드 시간 증가 및 감소를 측정하기 위해 웹 사이트 속도 테스트에 사용하는 가상 Linux 서버 (Debian Squeeze 실행)를 가지고 있습니다. 웹 사이트에서 실제로드 시간에 근접 할 수 있도록이 서버의 대역폭과 대기 시간을 제한하려고했지만 지금까지 실패했습니다.
내가 구체적으로 원하는 것은 다음과 같습니다.
- 수신 및 발신 대기 시간을 50ms로 설정합니다.
- 수신 대역폭 제한을 512kbps로 설정합니다.
- 발신 대역폭 제한을 4096kbps로 설정합니다.
나는 netem을 읽고 tc
명령을 사용 했지만 여전히 내 머리 위로 조금 있습니다. 작동하는 것처럼 보이는 대기 시간을 제어하기 위해이 명령을 구성했지만 나가는 대기 시간 만 처리하는지 또는 둘 다 처리하는지 확실하지 않습니다.
tc qdisc add dev eth0 root netem delay 50ms
주변의 네트워크 전문가가 나를 도울 수 있습니까?
편집하다:
추가 조사를 한 후이 목표를 반쯤 달성 한 후이 명령을 사용하면 나가는 모든 트래픽이 원하는대로 동작합니다.
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
그러나 여전히 들어오는 트래픽을 제대로 조절할 수 없었습니다. 나는 "Ingress Policer filter"를 사용해야한다는 것을 배웠다. 나는 아래의 명령으로 다른 값을 가지고 놀고 있지만 운이없는 것을 시도하고있다.
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop
대역폭은 명령의 영향을받으며, 위의 값은 2MB / s에서 속도를 시작하고 전송이 진행됨에 따라 전송 속도가 약 30 초 후에 도달하는 약 80-90kB / s로 천천히 내려갑니다.
내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?
netem delay 50ms
대기 시간을 제한하지 않습니다.50ms
그렇지 않은 경우와 비교 하여 대기 시간이 증가합니다 .