-20에서 +20 Nice 값과 같이 NIC에서 가장 많은 대역폭을 수신하는 응용 프로그램을 조정할 수 있지만 프로세서 시간이 아닌 대역폭에 대해 조정할 수 있습니까?
전송으로 인해 다른 애플리케이션이 차단되는 것 같습니다. 옵션을 통해 애플리케이션 속도를 늦출 수 있지만, 네트워크 액세스를 통해 모든 것을 보고 조정할 수 있는 Linux/비애플리케이션 특정 솔루션이 있는지 궁금합니다.
고쳐 쓰다: 문제는 아래 출력에 있는 것 같습니다. 현재 모든 웹 및 전송 트래픽은 TCP 소스 포트 80과 동적 대상 포트이며 클래스 0:3(16810552바이트 및 171075 패킷)에 집중되어 있습니다. 그래서 인터넷 연결 속도가 그다지 빠르지 않기 때문에 전송 속도가 타임아웃될 만큼 빠릅니다. 출력에는 대기열 규칙이 패킷을 삭제하지 않았음을 보여줍니다.
내가보고 있어요tcng구성이 이미 존재하므로 가능한 솔루션으로 사용됩니다.
$ tc qdisc show dev wlp2s0
qdisc mq 0: root
qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
$ tc -g -s class show dev wlp2s0
+---(:4) mq
| Sent 5670 bytes 105 pkt (dropped 0, overlimits 0 requeues 1)
| backlog 0b 0p requeues 1
|
+---(:3) mq
| Sent 16810552 bytes 171075 pkt (dropped 0, overlimits 0 requeues 0)
| backlog 0b 0p requeues 0 competing for bandwidth
|
+---(:2) mq
| Sent 2538 bytes 31 pkt (dropped 0, overlimits 0 requeues 1)
| backlog 0b 0p requeues 1
|
+---(:1) mq
Sent 13432 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
답변1
트래픽 형성 QoS
나는 다음과 같은 것을 사용했습니다기적의 셰이퍼,물방울또는 네트워크 트래픽을 제한하는 pyshaper.
예
물방울
업로드/다운로드 속도를 20Kbps로 제한하세요.
$ trickle -d 20 wget -c http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
위 시나리오에서는 이를 개별적으로 설정할 수도 있습니다. 이와 같이 이러한 설정을 기본값으로 설정할 수도 있습니다.
$ trickled -d 50 -u 10
기적의 셰이퍼
Wondershaper를 사용하여 네트워크 수준에서 대역폭을 제어할 수도 있습니다. 예를 들어, 내 장치를 제한하고 싶다고 가정해 보겠습니다 eth1
.
$ sudo wondershaper eth1 1024 256
그러면 다운로드 속도는 1024Kbits, 업로드 속도는 256Kbits가 됩니다. 각각 128KB와 16KB입니다.
뚜껑을 열고 싶을 때.
$ sudo wondershaper clear eth1
파이 셰이퍼
이전에 이 사이트를 광범위하게 다룬 적이 pyshaper
있습니다. 다음 U&L Q&A 제목을 참조하세요.
이는 매우 강력한 도구이므로 잠재력을 보여주기 위한 것입니다.
인용하다
답변2
아마도 당신이 찾고 있는 것은 서비스 품질(QoS)일 것입니다. 이는 당신이 선호하는 방화벽(예: iptables
, , , 등)에서는 쉽게 사용할 수 없지만 최신 라우터에서는 간단하고 nftables
다음으로 pf
실행 되어야 합니다.ufw
IP/포트.
iptables 예시; https://serverfault.com/questions/762921/qos-with-iptables-and-tc-with-unstable-wan
slm이 언급한 것처럼 trickle
이 작업은 시작 시 다음을 사용하여 수행할 수 있습니다.프로세스기본 제공 옵션으로 속도 제한이 있는 명령을 사용하지 않는 경우(예 rsync
: , curl
, )wget
wondershaper
제한하는 데 사용할 수 있습니다.[가상] 인터페이스이는 네트워크 카드(예: rsync
, curl
, wget
)에 바인딩할 수 있는 명령 및 가상 머신에 유용합니다.