Latency — so‘rov, signal yoki ma’lumot bir nuqtadan boshqasiga yetib, natija qaytguncha ketadigan vaqt kechikishidir. Tarmoqda u paketning uzatilish vaqtini, dasturda endpoint javobini, storage tizimida o‘qish yoki yozishning tugashini bildirishi mumkin. Latency throughputdan farq qiladi: throughput vaqt birligida qancha ish bajarilishini, latency esa bitta ishning qancha davom etishini o‘lchaydi.
Tarmoq kechikishi tarkibi
Propagation delay signalning kabel yoki havo orqali fizik harakat vaqtidir. Masofa oshgani sari bu chegarani dasturiy optimizatsiya bilan yo‘qotib bo‘lmaydi. Transmission delay paket bitlarini kanalga chiqarish uchun kerak bo‘lgan vaqt bo‘lib, paket hajmi va link tezligiga bog‘liq.
Queueing delay router, switch yoki server navbatida kutishdan keladi. Yuklama sig‘imga yaqinlashganda navbat keskin o‘sishi mumkin. Processing delay qurilmaning paket sarlavhasini tekshirishi, route tanlashi, TLS yoki dastur mantiqini bajarish vaqtidir.
O‘lchovlar
Round-trip time paketning manzilga borib qaytish vaqtidir. ping ICMP orqali taxminiy RTT o‘lchaydi, lekin ICMPga berilgan ustuvorlik real HTTP trafikidan farq qilishi mumkin. Application latency DNS, TCP, TLS, server va client processingni birga o‘z ichiga oladi.
O‘rtacha qiymat taqsimotning uzun dumini yashiradi. p50 so‘rovlarning yarmi shu vaqtdan tez, p95 95 foizi, p99 esa 99 foizi shu chegaradan tez tugaganini bildiradi. Tail latency oz sonli, ammo foydalanuvchiga sezilarli sekin so‘rovlarni ko‘rsatadi.
Taqsimlangan tizimdagi ta’sir
Bitta foydalanuvchi so‘rovi ketma-ket beshta xizmatni chaqirsa, ularning latencylari yig‘iladi. Parallel chaqiruvlarda umumiy vaqt ko‘pincha eng sekin tarmoqqa bog‘lanadi. Fan-out yuzlab shardga tarqalsa, ulardan hech bo‘lmasa bittasi sekin bo‘lish ehtimoli ortadi.
Timeout kutishning yuqori chegarasini belgilaydi. Retry vaqtinchalik xatoni tuzatishi mumkin, ammo sekin tizimga qo‘shimcha yuk berib retry storm keltirishi ham mumkin. Deadline butun so‘rov uchun qolgan vaqtni keyingi xizmatlarga uzatadi.
Kamaytirish usullari
CDN kontentni foydalanuvchiga yaqin nuqtada saqlaydi. Cache takroriy hisob va database murojaatini qisqartiradi. Connection pooling yangi TCP va TLS handshake xarajatini kamaytiradi. So‘rovlarni batch qilish bir nechta round-tripni bitta amalga birlashtiradi, lekin batch to‘lishini kutishning o‘zi kechikish qo‘shishi mumkin.
Profiling server vaqtini database, tashqi API va kod bosqichlariga ajratadi. Faqat umumiy vaqtni ko‘rish sekinlikning qaerda ekanini ko‘rsatmaydi. Trace spanlari xizmatlararo yo‘lni, histogram esa taqsimotni beradi.
Real vaqt tizimlari
Audio va video uchun faqat o‘rtacha latency emas, jitter ham muhim. Buffer jitterni yumshatadi, ammo umumiy kechikishni oshiradi. Interaktiv o‘yin, ovozli aloqa va batch processing latencyga turli darajada sezgir; maqbul chegara vazifa xususiyatiga qarab belgilanadi.
Coordinated omission
Load test so‘rovni faqat avvalgi so‘rov tugagandan keyin yuborsa, tizim sekinlashgan paytda kamroq namuna oladi. Eng yomon kutish davrlari o‘lchovdan tushib qolib, percentile aslidan yaxshi ko‘rinadi; bu coordinated omission deb ataladi. Open-loop generator rejalashtirilgan arrival rate bo‘yicha so‘rov yuborib, navbatlanishni ham kuzatadi. Biroq real client modeli ham hisobga olinadi, chunki barcha workload ochiq oqim emas. Histogram yetarli resolution va yuqori chegaraga ega bo‘lishi, timeoutlar alohida xato sifatida yo‘qolib ketmasligi kerak. SLO hisobida muvaffaqiyatli javob latency bilan birga xato va timeout ham qayd etiladi.
Bog‘liq tushunchalar
throughput, round-trip time, jitter, timeout, percentile, CDN, distributed tracing