किसी ऐप में लेटेंसी और जिटर जोड़ें
तेज़ लोकल कनेक्शन पर सब कुछ चलता है। ऐप को 300 ms की पिंग दें और पता चल जाएगा कि कौन-सी स्क्रीन इस तरह लिखी गई थीं मानो जवाब तुरंत आ जाता है।
तीन अलग चीज़ें
| सेटिंग | यह क्या करती है | असल ज़िंदगी में यह कहाँ से आती है |
|---|---|---|
| Latency | हर पैकेट में एक जैसी देरी जोड़ती है, मिलीसेकंड में। | दूरी। दूसरे महाद्वीप का सर्वर, या कोई सैटेलाइट। |
| Jitter | ऊपर से कोई यादृच्छिक मात्रा जोड़ती है, इसलिए देरी बदलती रहती है। | साझा वाई-फ़ाई, मोबाइल नेटवर्क, हर भीड़ वाली चीज़। |
| झटके | कभी-कभार के लंबे ठहराव, जो इससे तय होते हैं कि कितनी बार और कितनी देर। | मोबाइल टावरों के बीच हैंडओवर, लोड में दबा राउटर। |
तीनों मिलीसेकंड में हैं और साथ चल सकती हैं। दोनों देरी वाले आँकड़े 0 से ऊपर कुछ भी लेते हैं, इसलिए आप विश्वसनीय 40 ms से बेतुके 60 सेकंड तक जा सकते हैं।
कमांड लाइन से
एक ऐप पर 80 ms जिटर के साथ स्थिर 200 ms:
BeanNetworkTester.exe --latency 200 --jitter 80 --target myapp.exe --duration 60
इसके बजाय दुर्लभ, लंबे ठहराव: लगभग हर बीसवाँ पैकेट एक सेकंड ज़्यादा इंतज़ार करता है:
BeanNetworkTester.exe --spike-prob 5 --spike-ms 1000 --target myapp.exe
आज़माने लायक संख्याएँ
- 40 ms: उसी देश का सर्वर। कुछ नहीं बदलना चाहिए।
- 150 ms: दूसरा महाद्वीप। जो भी बहुत बातूनी है वह धीमा लगने लगता है, क्योंकि हर आना-जाना कुछ वसूलता है।
- 600 ms और ऊपर: जियोस्टेशनरी सैटेलाइट या उड़ान में वाई-फ़ाई। यहीं प्रोग्रेस बार अटकते हैं और रीट्राई का तर्क आखिरकार चलता है।
तैयार प्रोफ़ाइल मापे हुए आँकड़े रखती हैं: “Distant server (another continent)”, “Satellite (low orbit)”, “Satellite (geostationary)”, “In-flight Wi-Fi”, “LTE / 4G”।
मापना: औसत नहीं, सबसे बुरा हाल देखें
जिटर औसत को मुश्किल से हिलाता है, और मीडियन को भी मुश्किल से हिलाता है। 30 ms जिटर वाला रन और बिना जिटर वाला रन लगभग एक जैसी “सामान्य” पिंग बता सकते हैं जबकि महसूस बिल्कुल अलग होते हैं।
इसके बजाय 95वें पर्सेंटाइल की मीडियन से तुलना करें। दोनों के बीच का फ़ासला ही जिटर है, और वही फ़ासला वॉइस कॉल को टूटा-फूटा और गेम को खेलने लायक नहीं बनाता, जबकि औसत फिर भी ठीक दिखता है।