पाठ 19 / 25
Latency Percentiles और Alerts
सिर्फ़ औसत नहीं, p50 और p95 ट्रैक करें, और सार्थक thresholds पर alert लगाएँ।
औसत धीमे अनुरोध छिपाता है
कुछ बहुत धीमे अनुरोध औसत को मुश्किल से हिलाते हैं पर उन users का अनुभव बिगाड़ते हैं। Percentiles ट्रैक करें: p50 (सामान्य अनुरोध) और p95 या p99 (धीमी पूँछ)। लगातार समस्याओं पर alerts लगाएँ, जैसे p95 latency सीमा के ऊपर, error दर 2% से ऊपर, moderation blocks का अचानक दोगुना होना, thumbs-down दर बढ़ना, या दैनिक ख़र्च budget से ऊपर। लगातार झूठे अलार्म से बचने के लिए अकेले उछालों पर नहीं, एक विंडो में रुझानों पर alert लगाएँ।
Mean बनाम percentiles, चलाकर
मैंने यह सेकंड में दस latencies पर चलाया। Mean 2.02 s है, median (p50) 1.25 s है, और एक 9-सेकंड के असामान्य मान के कारण p95 5.85 s है। औसत कम बताता है कि सबसे धीमे अनुरोध कितने धीमे हैं।
import statistics
lat = [0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, 9.0]
def pct(x, q):
x = sorted(x)
k = (len(x) - 1) * q
f = int(k)
c = min(f + 1, len(x) - 1)
return round(x[f] + (x[c] - x[f]) * (k - f), 2)
print(round(statistics.mean(lat), 2), pct(lat, 0.5), pct(lat, 0.95))
Output:
2.02 1.25 5.85
Responses stream करें
Tokens को बनते ही stream करने से धीमे उत्तर तेज़ लगते हैं, पर पहले token तक का समय और कुल समय दोनों मापें, क्योंकि वे users को अलग तरह से प्रभावित करते हैं।
त्वरित जाँच: औसत के साथ p95 latency क्यों ट्रैक करें?
- यह बिल घटाता है
- p95 हमेशा mean से छोटा होता है
- औसत अवैध हैं
- धीमी पूँछ असली users को प्रभावित करती है पर औसत को मुश्किल से हिलाती है
Answer
धीमी पूँछ असली users को प्रभावित करती है पर औसत को मुश्किल से हिलाती है — Percentiles वे सबसे बुरे अनुभव दिखाते हैं जिन्हें औसत सपाट कर देता है।