netem và Network Link Conditioner trên Windows
Trên Linux có tc netem, còn trên Mac có Network Link Conditioner. Windows không có sẵn thứ gì để thêm độ trễ và mất gói. Trang này đối chiếu những gì bạn đã biết với Bean Network Tester, và chỉ ra chỗ các con số không thể áp dụng nguyên xi.
Các tùy chọn của netem, từng cái một
Hãy thêm --target và --duration vào mọi lệnh ở đây, nếu không nó sẽ tác động lên cả máy tính.
| netem | Cài đặt trong cửa sổ | Cờ |
|---|---|---|
delay 100ms | Latency | --latency 100 |
delay 100ms 20ms | Latency, Jitter | --latency 100 --jitter 20 |
loss 5% | Loss | --loss 5 |
loss 5% 25% | Loss, Losses in a row (burst) | --loss 5 --loss-burst 4 |
duplicate 1% | Duplication | --dup 1 |
corrupt 0.1% | Corruption | --corrupt 0.1 |
reorder 25% | Spike chance, Spike size | --spike-prob 5 --spike-ms 200 |
rate 1mbit | Download, Upload | --down 122 --up 122 |
limit 1000 | Buffer | --buffer 1000 |
- Mất gói theo chuỗi. Giá trị tương quan trong netem không phải độ dài chuỗi. Losses in a row (burst) là số gói mất liên tiếp trung bình, tương đương gần nhất.
- Đảo thứ tự. Không có tỷ lệ phần trăm đảo thứ tự. Một xung đột biến làm trễ một gói để các gói gửi sau vượt qua nó, và bộ đếm gói bị đảo thứ tự ở trang Statistics cho biết điều đó có thật sự xảy ra không.
- Kích thước hàng đợi. limit của netem đếm theo gói. Buffer là một khoảng thời gian tính bằng mili giây.
Ba điểm khác biệt cần biết
Hướng. netem làm trễ những gì rời khỏi một giao diện, còn phản hồi quay về nguyên vẹn. Công cụ này bắt cả hai hướng, nên --latency 100 cộng thêm khoảng 200 ms vào một lần ping: 100 lúc đi và 100 lúc về. Để có đúng điều netem làm, hãy chỉ bắt lưu lượng đi ra:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
Đơn vị. Tốc độ trong netem tính bằng bit mỗi giây. Các ô giới hạn tốc độ tính bằng KB/s, với K = 1024. Quy đổi megabit:
| tốc độ netem | Ô giới hạn tốc độ, tính bằng KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
Phạm vi. tc định hình cả một giao diện mạng và cần root. Công cụ này nhắm vào một chương trình bằng --target và cần quyền quản trị.
Nếu bạn quen Network Link Conditioner
Công cụ của Apple hoạt động theo các hồ sơ có tên. Những hồ sơ gần nhất ở đây:
| Network Link Conditioner | Gần nhất ở đây |
|---|---|
| 100% Loss | Loss đặt thành 100 |
| 3G | 3G network |
| DSL | Home DSL (VDSL) |
| LTE | LTE / 4G |
| WiFi | Good WiFi |
| Very Bad Network | Terrible network |
| Edge | Không có hồ sơ tương ứng. Hãy tự nhập giới hạn tốc độ và độ trễ, rồi lưu thành hồ sơ riêng bằng nút Save.... |
Các con số không phải của Apple, vì vậy hãy coi một hồ sơ là điểm xuất phát. Mọi giá trị mà một hồ sơ đặt đều được liệt kê ở trang tham chiếu.
Bạn được gì trên Windows
- Một chương trình, không phải cả máy tính. Nhắm sự suy giảm vào một ứng dụng trong khi phần còn lại của máy vẫn bình thường.
- Một dòng thời gian thay cho script shell. Kịch bản theo thời gian đổi cài đặt ở những giây định sẵn, giống một script
tcvàsleeptrên Linux. - Một pipeline có thể chạy nó. Cùng một tệp thực thi chạy trong CI và báo kết quả qua mã thoát.
Trên Linux hoặc macOS, hãy dùng bản gốc. Công cụ này chỉ chạy trên Windows.