Ishlash samaradorligi monitoringi — bu ilova ishidagi sekinlashuvlar, xotira oqishi va resurslardan optimal foydalanmaslikni aniqlash uchun ko'rsatkichlarni doimiy yig'ish va tahlil qilish jarayoni. Android Performance Guide, 2025 ma'lumotlariga ko'ra, monitoring ko'rsatkichlardagi og'ishlarni erta bosqichda aniqlash va ommaviy shikoyatlar boshlanishidan oldin foydalanuvchi tajribasining yomonlashishini oldini olish imkonini beradi.
Asosiy fikrlar
Ishlash samaradorligi monitoringi — bajarilish vaqti, xotira ishlatilishi, kadrlar chastotasi va energiya sarfi ko'rsatkichlarini yig'ish orqali ilova xatti-harakatini miqdoriy baholash amaliyoti. Faqat halokatli nosozliklarni qayd qiladigan crash reporting-dan farqli o'laroq, ishlash monitoringi asta-sekin yomonlashishni kuzatadi: ilova ishlaydi, lekin kerakligidan sekinroq.
Google (2024) ma'lumotlariga ko'ra, foydalanuvchilarning 53% i ilovani 3 soniyadan ortiq yuklansa yopadi. Har bir qo'shimcha kechikish soniyasi konversiyani o'rtacha 20% ga kamaytiradi. Bu ishlash samaradorligi monitoringini nafaqat texnik amaliyot, balki mobil mahsulotlar uchun biznes zaruratiga aylantiradi.
Zamonaviy ishlash monitoringi to'rt darajani qamrab oladi: mijoz qismi (iOS, Android), tarmoq (API so'rovlari, WebSocket), backend xizmatlari va infratuzilma. Mobil ishlanmada diqqat mijoz ko'rsatkichlariga qaratilgan, chunki ishlash muammolarining aksariyati aynan foydalanuvchi qurilmasida yuzaga keladi.
To'liq monitoring uchun har biri foydalanuvchi tajribasining ma'lum bir jihatiga javobgar bo'lgan besh guruh ko'rsatkichlarini kuzatish kerak. FPS (frames per second) animatsiya va siljitishning silliqligini ko'rsatadi — soniyasiga 30 kadrdan past qiymat ko'z bilan sekinlashuv sifatida seziladi.
Ilovaning sovuq ishga tushish vaqti — belgini bosishdan to interfeys to'liq tayyor bo'lguncha. Issiq ishga tushish vaqti — fondan qaytish. Foydalanuvchi harakatiga javob vaqti (tap-to-response). Android uchun ishga tushish vaqti ActivityManager orqali, iOS uchun — dyld va premain vaqti orqali o'lchanadi. Firebase Performance ma'lumotlariga ko'ra, top-100 ilovalar uchun sovuq ishga tushishning median vaqti 1.8 soniyani tashkil qiladi.
Operativ xotira iste'moli qurilmadagi mavjud hajmning 80% dan oshmasligi kerak, aks holda tizim ilovani fondan tushira boshlaydi. Xotira izi Xcode Instruments (iOS) va Android Profiler orqali kuzatiladi. Xotira oqishi takrorlanuvchi operatsiyalarda — masalan, ekranlar o'rtasida o'tishda iste'molning o'sishi bilan aniqlanadi.
HTTP so'rovining bajarilish vaqti, javob hajmi, taym-aut va xatolar chastotasi. Tarmoq kechikishi ayniqsa beqaror aloqa sharoitida ishlaydigan mobil ilovalar uchun muhim (3G, metro, lift, rouming). Eng yomon tarmoq sharoitidagi eng "og'ir" foydalanuvchilarning tajribasini aynan ko'rsatadigan p95 javob vaqtini kuzatish tavsiya etiladi.
| Ko'rsatkich | Normal | Muhim |
|---|---|---|
| Cold start | 2 s gacha | 4 s dan ortiq |
| FPS | 55–60 | 30 dan kam |
| API response | 500 ms gacha | 2 s dan ortiq |
| Memory usage | 200 MB gacha | 400 MB dan ortiq |
| ANR rate | 0.1% dan kam | 0.5% dan ortiq |
Real User Monitoring (RUM) ishlab chiqarish muhitida real foydalanuvchi qurilmalaridan ma'lumotlarni yig'adi. Bu usul foydalanuvchilarning qurilmalari, OT versiyalari, tarmog'i va geolokatsiyasini hisobga olgan holda boshdan kechirayotgan haqiqiy kechikishlarni ko'rsatadi. RUM ishlashning eng aniq tasvirini beradi, lekin tanlovga qaysi foydalanuvchilar tushganiga bog'liq.
Synthetic Monitoring esa nazorat qilinadigan sharoitlarda test qurilmalarida oldindan belgilangan stsenariylarni bajaradi. Bu regressiyani foydalanuvchilarga yetib bormasdan aniqlash va muammolarni bir xil muhitda takrorlash imkonini beradi. Firebase Test Lab va BrowserStack qo'lda ishga tushirmasdan real qurilmalarda sintetik testlarni taqdim etadi.
Optimal strategiya ikkala yondashuvning kombinatsiyasidir: sintetik testlar CI bosqichida regressiyalarni ushlaydi, RUM esa ishlab chiqarishda real holatni ko'rsatadi. Datadog (2024) ma'lumotlariga ko'ra, ikkala usuldan foydalanadigan jamoalar hodisalarga aylanmasdan oldin 35% ko'proq ishlash muammolarini aniqlaydi.
Firebase Performance Monitoring Google tomonidan iOS va Android da ishlash ko'rsatkichlarini yig'ish uchun bepul vositadir. Kod yozmasdan ilovaning ishga tushish vaqti, HTTP so'rovlari va ekranlarni renderlashni avtomatik o'lchaydi. O'rnatish uchun loyihaga SDK qo'shish va Firebase konsolida Performance modulini faollashtirish kifoya.
SDK ulangandan so'ng, Firebase Performance har bir HTTP so'rovi uchun URLSession (iOS) yoki OkHttp (Android) orqali avtomatik trace yaratadi. Ekran renderi UIViewController va Activity uchun onCreate/viewDidLoad dan birinchi render tugaguncha vaqtni qayd qilib o'lchanadi. Barcha ko'rsatkichlar Firebase konsolida ilova versiyalari, qurilmalar va mamlakatlar bo'yicha taqsimlanadi.
import com.google.firebase.perf.FirebasePerformance
import com.google.firebase.perf.metrics.Trace
class PaymentService {
private val firebasePerf = FirebasePerformance.getInstance()
fun processPayment(amount: Double) {
val trace = firebasePerf.newTrace("payment-flow")
trace.start()
trace.putAttribute("amount", amount.toString())
// to'lovni amalga oshirish
trace.stop()
}
}
Kod summa atributi bilan to'lov stsenariysi uchun maxsus trace yaratadi. Ushbu trace orqali Firebase konsolida to'lovning bajarilish vaqti mediani va p95 ni ko'rish, ilova versiyalari va qurilmalar bo'yicha guruhlash mumkin.
Firebase avtomatik ravishda tarmoq so'rovlarini ushlaydi va URL, javob kodi, payload hajmi va bajarilish vaqtini qayd qiladi. Android da OkHttp uchun avtomatik instrumentatsiya qo'shimcha sozlashsiz ishlaydi. Tarmoq so'rovlari konsolda endpointlar bo'yicha guruhlash bilan ko'rsatiladi, bu esa ma'lum bir API ning sekinlashishini tez aniqlash imkonini beradi.
Standart ko'rsatkichlar umumiy ishlashni qamrab oladi, ammo biznes jarayonlarini diagnostika qilish uchun ma'lum stsenariylarni instrumentatsiya qilish talab etiladi. Maxsus trace-lar autentifikatsiya, yangiliklar lentasini yuklash, tasvirni qayta ishlash yoki ma'lumotlarni sinxronlashtirish bajarilish vaqtini o'lchash imkonini beradi.
Har bir maxsus trace "stsenariy-harakat" formatida mazmunli nomga ega bo'lishi va filtrlash uchun atributlarni o'z ichiga olishi kerak. Masalan, "file_size" va "compression_quality" atributlari bilan "image-upload" trace-i yuklash vaqtining tasvir hajmiga bog'liqligini aniqlash imkonini beradi. Bitta ekran uchun 20 dan ortiq maxsus trace yaratish tavsiya etilmaydi — haddan tashqari instrumentatsiya shovqin yaratadi va tahlilni murakkablashtiradi.
import FirebasePerformance
func trackImageUpload(data: Data) {
let trace = Performance.startTrace(name: "image-upload")
trace?.setValue(data.count, forAttribute: "file_size")
trace?.setValue("high", forAttribute: "compression")
// tasvirni yuklash
trace?.stop()
}
Swift da misol fayl hajmi va siqish darajasi atributlari bilan tasvirni yuklash uchun trace yaratadi. Firebase konsolida bu atributlar ko'rsatkichlarni guruhlash va filtrlash uchun maydonlarga aylanadi.
Xabardor qilish tizimisiz ko'rsatkichlarni yig'ish foydasiz. Xabardor qilish jamoani ko'rsatkichlarning ruxsat etilgan chegaralardan chiqishi haqida ogohlantirishi kerak, ogohlantirish chegaralari uch darajaga bo'linadi: ogohlantirish (warning), muhim (critical) va avariya (outage). Har bir daraja xabardor qilish kanalini belgilaydi: warning — jamoaning Slack kanaliga, critical — navbatchi muhandisning PagerDuty siga, outage — barcha manfaatdor tomonlarga ommaviy yuborish.
Mobil ko'rsatkichlar uchun persentillarga asoslangan dinamik chegaralardan foydalanish tavsiya etiladi: sovuq ishga tushishning p95 vaqti 4 soniyadan oshadi — muhim ogohlantirish. Statik chegaralar (masalan, CPU > 90%) yomonroq ishlaydi, chunki kun vaqti va hafta kuniga qarab yukning normal o'zgarishlarini hisobga olmaydi. Firebase Performance Firebase Console orqali Slack, PagerDuty va elektron pochtaga yuborish bilan ogohlantirishlarni sozlashni qo'llab-quvvatlaydi, tasdiqlanmagan taqdirda eskalatsiya imkoniyati bilan.
Incident Management Survey (2024) ma'lumotlariga ko'ra, o'rtacha qiymatlar o'rniga persentillarga asoslangan ogohlantirishlarni sozlaydigan jamoalar 45% kamroq hodisalarni o'tkazib yuboradi. O'rtacha qiymat (average) sakrashlarni tekislaydi — p95 kun vaqti va mavsumiy yuk o'zgarishlaridan qat'i nazar, foydalanuvchilar uchun eng yomon stsenariyni kafolatli ko'rsatadi.
Tez-tez beriladigan savollar
Asosiy vositalar: Firebase Performance Monitoring (bepul, asosiy funksionallik), Dynatrace (korporativ RUM), New Relic Mobile, Datadog RUM va Instabug (mobil ilovalarga ixtisoslashgan). Tanlov byudjet va talab qilinadigan tahlil chuqurligiga bog'liq.
Ko'rsatkichlar real vaqt rejimida 5 daqiqadan ko'p bo'lmagan kechikish bilan yig'ilishi va dashborda ko'rsatilishi kerak. Trendlarni haftada bir marta tahlil qilish tavsiya etiladi. Avtomatik ogohlantirishlar inson ishtirokisiz chegaralardan chiqqanda ishga tushishi kerak — bu foydalanuvchilar sezmasdan oldin muammolarga javob berishning yagona usuli.
Minimal to'plam: sovuq ishga tushish vaqti, FPS, ANR darajasi (Android) yoki watchdog tugatilishlari (iOS), HTTP xato darajasi va xotira ishlatilishi. Bu odatdagi mobil loyihada ishlash muammolarining 80% ini aniqlash uchun yetarli. Ilova o'sishi bilan aniqroq diagnostika uchun ma'lum ekranlar va biznes stsenariylarining ko'rsatkichlari qo'shiladi.
Ha, ishlash monitoringi SDK si vositaga qarab ilova hajmiga 1–3 MB qo'shadi. Firebase Performance Monitoring taxminan 1.2 MB qo'shadi. SDK ni faqat sinov va ishlab chiqarish yig'ilishlariga kiritish, debug yig'ilishlaridan chiqarib tashlash tavsiya etiladi.
Agar API dan javob kutish vaqti yuqori bo'lsa, lekin server ko'rsatkichlari normal bo'lsa — muammo mijoz tomonida (qurilma tarmog'i, DNS, TLS qo'l siqish). Agar server yuqori yuklama yoki ma'lumotlar bazasiga sekin so'rovlarni ko'rsatsa — muammo backend tomonida. Distributed tracing mijoz so'rovini server qayta ishlashi bilan bog'lab aniq javob beradi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.