Sizda mikroblar bor!
To'liq quvvat bilan yuklangan tizimni tormozlash mumkinmi? Birinchi eksperimental preparat sifatida M / G / 1. Dano: kirishda Puasson oqimi va xizmat vaqtini ixtiyoriy taqsimlash. Butun tizim bo'ylab bitta so'rovning yo'lini ko'rib chiqing. Aytgancha, kiruvchi so'rov o'rtacha so'rovlar soni oldida navbatda ko'rinadi. . Ularning har birini qayta ishlash uchun o'rtacha vaqt . Ehtimollik bilan, teng foydalanish , serverda bir muddat "xizmat ko'rsatish" kerak bo'lgan yana bir so'rov mavjud . Summiruya, biz navbatda kutishning to'liq vaqtini olamiz . Littl teoremasi bo'yicha ; birlashtirib, biz quyidagilarni olamiz:
Ya'ni, navbat bilan kutish vaqti ikki ko'paytiruvchi bilan belgilanadi. Birinchisi, serverdan foydalanish effekti, ikkinchisi esa o'rtacha texnik xizmat ko'rsatish vaqti. Ikkinchi multiplikatorni ko'rib chiqing. So'rov, bir nuqtada keladi , doobsluzhivanie vaqt kerakligini ko'radi .
O'rta vaqt funktsiyaning o'rtacha qiymati bilan aniqlanadi , umumiy vaqtga bag'ishlangan uchburchaklarning kvadrat maydoni mavjud. O'zingizni bitta "o'rtacha" uchburchak bilan cheklashingiz mumkinligi aniq . Bu juda kutilmagan. Biz xizmat muddati nafaqat xizmat vaqtining o'rtacha qiymati, balki uning o'zgaruvchanligi bilan ham aniqlanishini aniqladik. Tushuntirish oddiy. Uzoq vaqt oralig'iga tushish ehtimoli bundan tashqari, u aslida bu intervalning uzunligi S ga proportsionaldir. Bu mashhur kutish vaqti paradoksini yoki Tekshirish paradoksini tushuntiradi. Ammo M / G / 1 ga qaytish. Agar biz olgan hamma narsani birlashtirsak va o'zgaruvchanlikdan foydalanib qayta yozsak , biz ohak olamizPollachek-Xinchine formulasi:
Agar dalil sizni charchagan bo'lsa, umid qilamanki, amalda qo'llash natijasi. Biz allaqachon RTMRda xizmat ko'rsatish muddati haqidagi ma'lumotlarni o'rganib chiqdik. Bir vaqtlar uzun quyruq katta o'zgaruvchanlik bilan paydo bo'ladi va bu holda . Bu, roziman, bundan ham ko'proq eksponensial taqsimot uchun. O'rtacha, hamma narsa juda tez amalga oshiriladi: . Keling, RTMR M / G / 1 tizimida modellashtirilgan deb faraz qilaylik va tizim og'ir yuklanmasin, qayta ishlang. . Formulaga almashtirib, biz olamiz . Mikrobiota tufayli, hatto bunday tez va o'zgartirilmagan tizim ham o'rtacha jirkanchga aylanishi mumkin. 50 ms uchun siz qattiq diskka 6 marta yoki omadingiz bo'lsa, hatto boshqa qit'adagi ma'lumotlar markazida ham borishingiz mumkin! Aytgancha, G / G / 1 uchun mavjudyaqinlashish, bu kiruvchi trafikning o'zgaruvchanligini hisobga oladi: u aynan bir xil ko'rinadi, faqat o'rniga bunda ikkala o'zgarishlarning yig'indisi . Bir nechta serverlar bilan ishlash yaxshiroq, lekin bir nechta serverlarning ta'siri faqat birinchi multiplikatorga ta'sir qiladi. O'zgaruvchanlikning ta'siri saqlanib qoladi: .
Mikroavtobuslar qanday ko'rinishga ega? Taxminan yugurish yo'lakchalari uchun bu vazifa juda tez bajariladi, ular foydalanish jadvalida sezilmasligi uchun va asta-sekin o'zlari uchun navbat hosil qiladi va javob vaqtiga ta'sir qiladi. Nazariya nuqtai nazaridan - bu tarqatish dumidan katta so'rovlar. Aytaylik, sizda 10 ta savdodan iborat pulingiz bor va siz 15 soniyada bir marta yig'iladigan ish vaqti va oddiy vaqt ko'rsatkichlari bo'yicha tuzilgan foydalanish jadvaliga qaraysiz. Siz, birinchi navbatda, bir savdo to'liq bog'liq, yoki barcha 10 savdolari bir vaqtning o'zida amalga oshirildi, deb, bir butun soniya davomida katta vazifalarni, keyin esa 14 soniya hech narsa qilmadi, deb sezmaysiz mumkin. 15 soniya ichida o'lchamlari qayta ishlashning 100% ga va 0% ga qaytishini ko'rishga imkon bermaydi va javob berish vaqti kamayadi. Masalan, u mikrobust kabi ko'rinishi mumkin,
Kuzatuv tizimi mikroskop sifatida ishlatiladi, protsessor davrlarining aniqligi bilan voqealar vaqtini (so'rovlarni qabul qilish va yakunlash) qayd etadi.
Xususan, shunga o'xshash vaziyatlarni tushunish uchun RTMR SelfPing mexanizmidan foydalanadi, u davriylikka (har biri 10 ms) qat'iy rioya qiladi, uch daqiqa ichida bitta maqsad bilan - vaqtni o'lchash uchun kichik vazifani yuboradi. Eng yomon stsenariyni hisobga olsak, bu davr 10 milodiy muddatga qo'shiladi va oynada maksimal 15 soniya vaqt oladi. Shunday qilib, biz oynada maksimal kutish vaqtining eng yuqori bahosini olamiz. Ha, biz haqiqiy vaziyatni ko'rmayapmiz, agar javob vaqti 10 ms dan kam bo'lsa, lekin bu holda biz hamma narsani yaxshi deb hisoblashimiz mumkin - bitta mikrob emas. Ammo bu qo'shimcha o'z-o'zidan ping faoliyati cheklangan miqdordagi protsessorlarni iste'mol qiladi. Mexanizm qulay, chunki u universal va invaziv emas: yugurish yo'lakchasining kodini ham, unda bajariladigan vazifalar kodini ham o'zgartirish shart emas. Diqqatga sazovor joylar: eng yomon stsenariyni aniq o'lchang, har qanday foizlar bilan solishtirganda juda qulay va intuitiv. Shuningdek, mexanizm yana bir shunga o'xshash vaziyatni aniqlaydi: bir vaqtning o'zida juda ko'p oddiy so'rovlarning paydo bo'lishi. Agar ular juda ko'p bo'lmasa, muammo 15 soniyali yo'q qilish jadvallarida paydo bo'lgan - mikroburslarni ham hisoblash mumkin.
Xo'sh, agar SelfPing biror narsa etarli emasligini ko'rsatsa, qanday bo'lish kerak? Aybdorlarni qanday topish mumkin? Buning uchun biz LWTrace yuqorida aytib o'tilgan kuzatishdan foydalanamiz. Muammoli mashinaga o'tish va monitoring orqali biz barcha vazifalarni to'g'ri yo'nalishda kuzatib boradigan va xotirada faqat sekin saqlaydigan traektoriyani boshlaymiz. Keyin eng yaxshi 100 ta sekin trekni tomosha qilishingiz mumkin. Qisqa muddatli tadqiqotdan so'ng biz traektoriyani o'chirib qo'yamiz. Xatolarni qidirishning barcha boshqa usullari mos kelmaydi: barcha vazifalar bo'yicha jurnallarni yozish mumkin emas; faqat sekin vazifalarni yozish - bu ham eng yaxshi echim emas, chunki barcha vazifalar uchun marshrutni yig'ish hali ham zarur va bu ham yuk; perf yordamida profil yaratish yordam bermaydi, shuning uchun qiyin vazifalar juda kamdan-kam hollarda bo'lib, profilda sezilarli bo'lmaydi.
Do'stlaringiz bilan baham: |