Load testing — tizimni kutiladigan odatiy va cho‘qqi trafik modeli ostida ishlatib, latency, throughput, xato ulushi va resurs holatini o‘lchaydigan performance testing turi. U tizimni albatta buzish uchun emas, belgilangan xizmat darajasi ma’lum yukda bajarilishini tekshirish uchun o‘tkaziladi. Buzilish chegarasini qidirish ko‘proq stress testing vazifasidir.
Yuk modeli
Realistik model faqat concurrent user sonidan iborat emas. Har foydalanuvchining amal ketma-ketligi, think time, endpointlar ulushi, payload va sessiya holati aniqlanadi. Masalan, katalog tizimida 70 foiz o‘qish, 20 foiz qidiruv va 10 foiz yozish bo‘lishi mumkin. Bitta cached endpointga berilgan katta RPS database va autentifikatsiya yukini ko‘rsatmaydi.
Closed modelda virtual user oldingi javobdan keyin navbatdagi so‘rovni yuboradi. Tizim sekinlashsa, yuborilayotgan trafik ham kamayadi. Open modelda arrivals belgilangan tezlikda keladi; queue va overload real tashqi trafik kabi ko‘rinadi. Model tanlovi natija talqiniga ta’sir qiladi.
Sinov bosqichlari
Sinov ko‘pincha quyidagi davrlardan tuziladi:
- warm-up cache, connection pool va JITni barqaror holatga keltiradi;
- ramp-up yukni bosqichma-bosqich maqsadga olib chiqadi;
- steady-state maqsad yukni yetarli vaqt saqlaydi;
- peak yoki qisqa burst cho‘qqi holatini tekshiradi;
- ramp-down va recovery tizimning normal holatga qaytishini kuzatadi.
Har bosqich chegarasi natija vaqt chizig‘ida belgilanadi. Warm-up qiymatini steady-state statistikasi bilan aralashtirish baseline ni buzishi mumkin.
Metrikalar
Generator yuborilgan va yakunlangan so‘rovlar, p50/p95/p99 latency, timeout va status kodlarni qayd etadi. Serverda CPU, memory, GC, event loop lag, thread va connection pool, queue depth hamda database locklar kuzatiladi. Tashqi xizmat rate limitlari va cache hit ratio ham throughputga ta’sir qiladi.
Faqat o‘rtacha latency yetarli emas. Tizimning ko‘p so‘rovi tez, oz qismi juda sekin bo‘lishi mumkin. Xatolarni sampledan chiqarish natijani sun’iy yaxshilaydi. Har biznes ssenariy yakuniy ma’lumotning to‘g‘riligini ham tekshiradi.
Muhit va ma’lumot
Staging topologiyasi productionga yaqin bo‘ladi. Kichik database, bo‘sh cache va boshqa indeks statistikasi so‘rov rejasini o‘zgartiradi. Maxfiy production ma’lumoti ko‘chirib ishlatilsa, anonimlashtirish va ruxsat qoidalari bajariladi; ko‘pincha taqsimoti o‘xshash sintetik data yaratiladi.
Load generatorning o‘zi bottleneck bo‘lmasligi kerak. Uning CPU, tarmoq va ochiq socketlari o‘lchanadi. Generator va server bir hostda joylashsa, resurs talashadi. Taqsimlangan generatorlar va target soatlari sinxronlanadi.
Natijani talqin qilish
Yuk ortganda throughput avval o‘sadi. Bir resurs saturationga yetgach latency va queue tez ortadi; throughput tekislanadi. Shu knee point tizim sig‘imi haqida signal beradi. Bitta test natijasi absolyut limit emas: konfiguratsiya, workload aralashmasi va downstream holati bilan birga qayd etiladi.
Tuzatishdan keyin ayni versiyalangan ssenariy qayta bajariladi. Cache, test data va autoscaling boshlang‘ich holati bir xil bo‘lishi kerak. Productionda kichik canary va monitoring laboratoriya natijasining real trafikda saqlanishini ko‘rsatadi.
Autoscaling xatti-harakati
Qisqa test autoscaler yangi replica ochguncha tugab qolishi mumkin. Scale-up trigger, provisioning va readiness vaqti yuk profiliga kiritiladi. Ramp juda sekin bo‘lsa, autoscaling doim yukdan oldinda yurib, kutilmagan spike holatini yashiradi. Scale-down ham tekshiriladi: replica erta kamayishi navbatdagi to‘lqinda cold start va capacity yetishmovchiligini keltirishi mumkin.
Bog‘liq tushunchalar
Performance testing, Stress testing, Ramp-up, Throughput, Percentile, Saturation