2012-06-11 13 views
9

हमारे पास एक अनुकूलित फ़्लैश/एचटीएमएल 5 वीडियो प्लेयर है जिसका उपयोग हम उपयोगकर्ताओं के लिए हमारी साइट पर करते हैं। मैं वर्तमान में उन उपयोगकर्ताओं के अनुभव का अनुभव कर रहा हूं जिनके पास 'सबोपेटिमल' बैंडविड्थ है - मूल रूप से हम क्लाइंट साइड कोड को अत्यधिक बफरिंग के कारण खराब उपयोगकर्ता अनुभव का पता लगाने में सक्षम होना चाहते हैं। मैं अपने स्थानीय विकास पर्यावरण में इस "खराब बैंडविड्थ" हैंडलिंग कोड का परीक्षण करना चाहता हूं।एक परीक्षण वातावरण (मैक ओएस एक्स) में खराब बैंडविड्थ अनुकरण?

क्या किसी को "स्थानीय बैंडविड्थ" परीक्षण उद्देश्यों के लिए अनुकरण करने के लिए अच्छी तकनीक के बारे में पता है?

अधिक विशेष रूप से मेरे पास यूडब्लूएसजीआई, एनजिनक्स, और पायथन/डीजेंगो के उदाहरणों के साथ वर्चुअल मशीन से कनेक्ट होने वाला मेरा स्थानीय ब्राउज़र है और मैं इन प्रणालियों से सामग्री की डिलीवरी में देरी की मनमानी मात्रा में इंजेक्ट करने में सक्षम होना चाहता हूं। (मैं मुख्य रूप से nginx के साथ ऐसा करने के लिए चिंतित हूं, जो वीडियो सामग्री वितरण/स्ट्रीमिंग करता है)।

संपादित करें: यह प्रासंगिक है कि देव पर्यावरण मैक ओएस एक्स

+0

संभावित डुप्लिकेट: http://superuser.com/questions/173882/netem-for-mac-os-x-to-emulate-network-latency-and-dropped-packets –

उत्तर

16

बस nginx के विन्यास का उपयोग तरीका है।

ओएस एक्स शेर की नेटवर्क लिंक कंडीशनर अपेक्षा के अनुरूप काम करता है यह अभी भी परेशान है का उपयोग करने के लिए जब मैं वास्तव में एक वेब ऐप के व्यवहार के सबसेट का परीक्षण करने की कोशिश कर रहा हूं - यानी, धीमी वीडियो बफरिंग हैंडलिंग सिस्टम।

इस तरह के रूप में, मैं यह बहुत अधिक सुविधाजनक मिल गया है मेरी nginx.conf फ़ाइल में सीमित दर, उदा स्थापित करने के लिए,:।

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

संपादित करें: nginx HttpCoreModule docs देखें।

+0

मुझे कुछ सामना करना पड़ा और मुझे विश्वास है कि यहां जोड़ा जाना चाहिए: यदि सीमा_रेट काम नहीं कर रहा है, तो सुनिश्चित करें कि "proxy_buffering चालू" सेट है (डिफ़ॉल्ट चालू है) – emrahgunduz

+0

क्या यह वेबसाइट के लिए एक अच्छा सिमुलेशन है? एक ब्राउज़र एक से अधिक कनेक्शन खोल सकता है, है ना? – user37078

1

मैं इस कार्यक्रम NetLimiter उपयोग कर रहा हूँ "गरीब बैंडविड्थ" अनुकरण करने के लिए है हो सकता है। यह मुफ़्त नहीं है, लेकिन एक परीक्षण संस्करण है जो अच्छी तरह से काम करता है। केवल खिड़कियों :(

+0

यह लिंक देखें, http://hintsforums.macworld.com/showthread.php?टी = 9 417 – Xosler

5

मैं सिर्फ एक्स Network Link Conditioner पाया मैक ओएस के लिए है, लेकिन मैं अभी तक यकीन है कि यह loopback पर काम करता है, जो इसे अपने उद्देश्यों के लिए करने की आवश्यकता होगी नहीं कर रहा हूँ

संपादित करें:। इस पर काम करने लगता है लूपबैक, तो यह मेरी समस्या हल करने के लिए लगता है! यह शायद जाने के लिए अगर आप ओएस पर हैं X 10.7

9

फ्रीबीएसडी मैक ओएस का पूर्वज है, इसलिए आप ipfw नामक अंतर्निहित शक्तिशाली फ़ायरवॉल का उपयोग कर सकते हैं। इसका उपयोग कई अलग-अलग मामलों में किया जा सकता है, उदाहरण के लिए कम बैंडविड्थ अनुकरण करें। अपने स्वयं के आईपी एड्रेस लूपबैक (127.0.0.1) या रिमोट सर्वर (उस मामले में 8.8.8.8) का प्रयोग करें।

हम एक वीडियो वेब आवेदन साक्षात्कार करते हैं, तो मैं, बुरा कनेक्शन के अनुकरण के हमारे अनुभव के साथ साझा नीचे दिए गए उदाहरण देखना चाहते हैं:

$ 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 पाइप आप धीमी अनुकरण करने के लिए अनुमति देता है और पैकेट नुकसान को अनुकरण करने के लिए देरी, bw और प्रो का उपयोग करने के साथ अस्थिर कनेक्शन।