HeadlinesBriefing favicon HeadlinesBriefing.com

240M डोमेनों के लिए p99 0ms स्वतः पूर्णता

Hacker News •
×

मैं Wirewiki.com चलाता हूँ, एक साइट जो इंटरनेट बुनियादी ढाँचे जैसे डोमेन नामों की जाँच करती है। यह लोगों की मदद करती है कि वे (ऐतिहासिक) डीएनएस रिकॉर्ड्स, डीएनएस डेलीगेशन, ईमेल डिलीवरेबिलिटी कॉन्फ़िगरेशन आदि की जाँच करें। ऐसी कई साइटें हैं जो यह प्रदान करती हैं (vibe coding के धन्यवाद, यह पहले से अधिक तेज़ी से बढ़ रहा है), इसलिए मुझे अपने आप को अलग करने का एक तरीका चाहिए। मैंने टूल गुणवत्ता / उपयोगिता और यूएक्स चुना। स्वतः पूर्णता Wirewiki को नेविगेट करने का मुख्य तरीका है, इसलिए यह जितना संभव पूरा, सटीक और तेज़ होना चाहिए। मैं चाहता हूँ कि यह तुरंत हो। जैसे, अगले फ्रेम में तुरंत। मैंने इसे अधिकांशतः प्राप्त कर लिया है। कुंजी नीचे दबाने पर (उपयोगकर्ता एक कुंजी दबाना शुरू करता है), हम प्रकारित वर्ण + कोई अगला वर्ण होने वाले सुझावों को प्रीफ़ेच करते हैं। और कुंजी ऊपर (उपयोगकर्ता कुंजी को छोड़ देता है), हम सुझावों को रेंडर करते हैं। इससे हमें दो कुंजी दबाने की अवधि + कुंजी दबाने के बीच के अंतराल + दूसरी कुंजी दबाने की अवधि का एक समय बजट मिलता है। अगर एपीआई पहले दूसरे कुंजी दबाने से पहले वापस आ जाता है, तो हम समय पर परिणाम तैयार रखेंगे। (एक 60 हर्ट्ज़ डिस्प्ले हर 16.7 मिलीसेकंड पर रेंडर करता है। इसलिए तकनीकी रूप से हमें p50 पर 8.33 मिलीसेकंड का अतिरिक्त समय बजट है, लेकिन p99 पर लगभग 0 मिलीसेकंड।) कुंजी छोड़ी गई कुंजी दबाई गई wik GET /autocomplete?q=wi 'wik' के लिए समाप्तियों को रेंडर करें एपीआई का समय बजट एपीआई राउंड-ट्रिप समय q=wi का अनुरोध i दबाए जाते ही चलता है; अगर इसका प्रतिक्रिया k को छोड़ने से पहले पहुँच जाती है, तो wik के लिए समाप्तियाँ शून्य धारण की लेटेंसी के साथ रेंडर होती हैं। इसलिए, इस लेख के उद्देश्य के लिए, हम लेटेंसी को कुंजी छोड़ने से परिणाम तैयार रेंडर करने तक परिभाषित करेंगे। p99 0 मिलीसेकंड का अर्थ है कि 99% समय, परिणाम उपयोगकर्ता द्वारा कुंजी छोड़ने से पहले ही तैयार हो जाएंगे। हमें इसे हासिल करने के लिए दो चीज़ों की आवश्यकता है: सुझावों का क्लाइंट-साइड प्रीफ़ेचिंग और कैशिंग, और एक एपीआई जो पर्याप्त रूप से तेज़ हो। बजट कितना बड़ा है? अब हम जानते हैं कि हम दो कुंजी दबाने की अवधि और एक अंतराल अवधि खर्च कर सकते हैं, लेकिन यह मिलीसेकंड में कितना है? मैंने 100 डोमेन नामों को क़रीब-क़रीब तेज़ गति से टाइप करते समय इसे मापा और पाया कि p99 मेरे लिए 121 मिलीसेकंड है।