2012-06-11 37 views
9

Chúng tôi có trình phát video Flash/HTML5 tùy chỉnh mà chúng tôi sử dụng cho người dùng trên trang web của chúng tôi. Tôi hiện đang đưa ra trải nghiệm cho những người dùng có băng thông 'tối ưu' - về cơ bản, chúng tôi muốn mã phía khách hàng có thể phát hiện trải nghiệm người dùng kém do đệm quá mức. Tôi muốn kiểm tra mã xử lý "băng thông kém" này trong môi trường phát triển cục bộ của mình.Mô phỏng băng thông kém trong môi trường thử nghiệm (Mac OS X)?

Có ai biết kỹ thuật tốt để mô phỏng "băng thông kém" trong môi trường cục bộ cho mục đích thử nghiệm không? Cụ thể hơn, tôi có trình duyệt cục bộ kết nối với một máy ảo với các phiên bản uWSGI, nginx, và python/django và tôi muốn có thể tiêm một lượng trễ tùy ý vào việc phân phối nội dung từ các hệ thống này. (Tôi chủ yếu quan tâm đến việc làm điều này với nginx, việc phân phối/phát nội dung video).

EDIT: Nó có thể liên quan rằng môi trường dev là Mac OS X.

+0

Bản sao có thể có của: http://superuser.com/questions/173882/netem-for-mac-os-x-to-emulate-network-latency-and-dropped-packets –

Trả lời

16

Chỉ cần sử dụng cấu hình nginx của.

trong khi Liên kết Mạng Xả OS X Lion của việc như mong đợi vẫn còn gây phiền nhiễu để sử dụng khi tôi thực sự chỉ đang cố gắng thử nghiệm một tập con của hành vi của ứng dụng web - tức là hệ thống xử lý bộ đệm video chậm.

Như vậy, tôi đã tìm thấy nó thuận tiện hơn nhiều để thiết lập giới hạn tốc độ trong tập tin nginx.conf của tôi, ví dụ,:.

location ~ /files/(.*\.(mp4|m4v|mov))$ { 
    ... 
    limit_rate 50k; # <-- Limit download rate per connection to 50kbps 
    ... 
} 

EDIT: Xem nginx HttpCoreModule docs.

+0

Điều tôi gặp phải và tôi tin rằng phải được thêm vào đây: Nếu limit_rate có vẻ không hoạt động, hãy đảm bảo rằng "proxy_buffering on" được đặt (mặc định là bật) – emrahgunduz

+0

Đây có phải là mô phỏng tốt cho trang web không? Một trình duyệt có thể mở nhiều kết nối, phải không? – user37078

1

Tôi đang sử dụng chương trình này NetLimiter để mô phỏng "băng thông kém". Nó không miễn phí, nhưng có một phiên bản dùng thử hoạt động tốt. duy nhất là cho các cửa sổ :(

+0

xem liên kết này, http://hintsforums.macworld.com/showthread.php?t = 9417 – Xosler

5

Tôi chỉ tìm thấy Mac OS X Network Link Conditioner nhưng tôi vẫn chưa chắc chắn nó hoạt động trên loopback, mà nó sẽ cần phải cho các mục đích của tôi

EDIT:. Điều này dường như làm việc trên loopback, vì vậy có vẻ như để giải quyết vấn đề của tôi! Đây có lẽ là con đường để đi nếu bạn đang ở trên OS X 10.7

9

FreeBSD là tổ tiên của Mac OS, vì vậy bạn có thể sử dụng tường lửa mạnh được tích hợp có tên ipfw. Nó có thể được sử dụng trong nhiều trường hợp khác nhau, ví dụ như mô phỏng băng thông thấp. Sử dụng vòng lặp địa chỉ IP của riêng bạn (127.0.0.1) hoặc máy chủ từ xa (8.8.8.8 trong trường hợp đó).

Chúng tôi làm một đoạn video phỏng vấn ứng dụng web, vì vậy tôi muốn chia sẻ với kinh nghiệm của chúng ta về mô phỏng kết nối xấu, xem ví dụ dưới đây:

$ sudo su 

$ ipfw show 
$ ipfw pipe 1 config delay 600ms bw 256kbit/s 
$ ipfw add pipe 1 dst-ip 8.8.8.8 dst-port 80 

$ ipfw flush 

ipfw ống cho phép bạn để mô phỏng chậm và kết nối không ổn định với việc sử dụng sự chậm trễ , bw và thậm chí prob để mô phỏng tổn thất gói.

Các vấn đề liên quan