Bosh sahifa Wiki Performance

Performance

Performance — dasturiy yoki apparat tizimining ishni qancha vaqt va resurs sarfi bilan bajarishini ifodalovchi xususiyatdir. U faqat “tezlik” degan umumiy baho emas. Latency, throughput, CPU, xotira, disk I/O, tarmoq, energiya va xarajat kabi o‘lchovlar muayyan workload ostida birgalikda ko‘riladi.

Asosiy ko‘rsatkichlar

Latency bitta operatsiyaning davomiyligi, throughput esa vaqt birligida tugallangan operatsiyalar sonidir. Ular o‘zaro bog‘liq, lekin aynan bir xil emas. Batch hajmini oshirish throughputni yaxshilashi, birinchi elementning kutish vaqtini esa uzaytirishi mumkin.

Average latency taqsimotdagi sekin so‘rovlarni yashiradi. p50 odatiy, p95 va p99 tail holatlarni ko‘rsatadi. Error va timeoutlar o‘lchovdan olib tashlansa, tizim ishlamayotgan paytda ham “tez” ko‘rinishi mumkin.

Workload

Performance natijasi testdagi ish turiga bog‘liq. Read-heavy va write-heavy baza, kichik va katta payload, cache issiq yoki sovuq holati turli natija beradi. Concurrent user soni request rate bilan bir xil emas; foydalanuvchi think time va connection modeli ham hisobga olinadi.

Benchmark ishlab chiqarishdagi hardware, dataset va trafik shakliga yaqin bo‘lishi kerak. Juda kichik test ma’lumoti RAMga to‘liq sig‘ib, real disk xatti-harakatini ko‘rsatmasligi mumkin. Test boshlanishida JIT, connection pool va cache warm-up bosqichi alohida ajratiladi.

Profiling

Profiling vaqt va resurs qayerda sarflanishini aniqlaydi. CPU profiler function call stack bo‘yicha hisob vaqtini, allocation profiler xotira ajratilishini, database EXPLAIN query planini ko‘rsatadi. Distributed trace bir so‘rovning xizmatlar orasidagi kechikishini ajratadi.

Faqat taxmin asosida optimizatsiya qilish tez-tez ishlamaydigan kodni yaxshilashga olib keladi. Avval baseline o‘lchanadi, bottleneck topiladi, bitta o‘zgarish kiritiladi va ayni test qayta bajariladi. Natija statistik shovqin va test muhitidagi boshqa yukdan ajratiladi.

Murakkablik va ma’lumot tuzilmasi

Algoritmning vaqt murakkabligi input o‘sishi bilan ish qanday ko‘payishini ko‘rsatadi. O(n²) algoritm kichik ro‘yxatda tez, katta ro‘yxatda yaroqsiz bo‘lishi mumkin. Biroq Big O constant factor, cache locality va I/O xarajatini to‘liq ifodalamaydi.

To‘g‘ri indeks database skanini kamaytiradi, lekin yozish va storage narxini oshiradi. Cache takroriy hisobni qisqartiradi, lekin invalidation va xotira talab qiladi. Performance qarori doim murosa bilan keladi.

Capacity va saturation

Utilization resurs bandligini, saturation esa bajarilmay kutayotgan ishni bildiradi. CPU 100 foizga yaqin, disk queue o‘sayotgan yoki connection pool to‘la bo‘lsa latency keskin ortishi mumkin. Little qonuni barqaror tizimda parallel ishlar sonini throughput va o‘rtacha vaqt bilan bog‘laydi.

Load test odatiy sig‘imni, stress test buzilish chegarasini, soak test esa uzoq muddatli leak va degradatsiyani tekshiradi. Natija service level objective va real xarajat bilan birga baholanadi.

Regression nazorati

Performance test CI yoki release jarayonida oldingi baseline bilan solishtirilishi mumkin. Mutlaq threshold bilan birga foizli regressiya chegarasi ishlatiladi. Shared runnerdagi shovqin kichik farqni noto‘g‘ri signalga aylantirgani uchun benchmark bir necha marta bajarilib distribution ko‘riladi. Compiler, runtime, dependency va CPU governor natijaga ta’sir qiladi; muhit metadata hisobotda saqlanadi. Productionda real user monitoring client qurilmasi va tarmog‘idagi holatni, synthetic monitoring esa nazoratli test yo‘lini ko‘rsatadi. Laboratoriya benchmarki va real telemetry bir-birini to‘ldiradi.

Bog‘liq tushunchalar

latency, throughput, profiling, benchmark, scalability, bottleneck, load testing