Memcached 1.6.0 versiyasi tashqi xotirani qo'llab-quvvatlash yoqilgan

bo'lib o'tdi xotiradagi ma'lumotlarni keshlash tizimining sezilarli darajada chiqarilishi Memcached 1.6.0, kalit/qiymat formatidagi ma'lumotlarda ishlaydi va ulardan foydalanish oson. Memcached odatda DBMS va oraliq ma'lumotlarga kirishni keshlash orqali yuqori yuklangan saytlar ishini tezlashtirish uchun engil yechim sifatida ishlatiladi. Kod ta'minlangan BSD litsenziyasi ostida.

Yangi versiya saqlashni amalga oshirishni barqarorlashtiradi "tashqi do'kon", endi sukut bo'yicha qurilgan (sozlash skriptida o'chirish uchun "-disable-extstore" opsiyasi taqdim etilgan), lekin ishga tushirishda aniq faollashtirishni talab qiladi (eski o'rnatishlar yangilanishdan keyin o'zgarishsiz ishlashda davom etadi). Exstore odatda barqaror deb hisoblansa-da, uni juda katta tizimlarda qo'llashda ehtiyot bo'lish tavsiya etiladi.

Extstore kesh hajmini kengaytirish uchun SSD/Flesh-disklardan foydalanish imkonini beradi. RAMda bo'lgani kabi, Flash xotira doimiy emas va qayta ishga tushirilganda qayta o'rnatiladi. Yangi rejimning ko'lami katta ma'lumotlarni samarali keshlashni ta'minlashdan iborat. "Exstore" dan foydalanganda kalitlar va metama'lumotlar, avvalgidek, faqat operativ xotirada saqlanadi, lekin o'lchamlari belgilangan chegaradan oshib ketadigan kalitlar bilan bog'liq katta ma'lumotlar tashqi xotirada saqlanadi va RAMda faqat ko'rsatgich qoladi.

Agar kalit kichik ma'lumotlar bilan bog'langan bo'lsa, u holda Memcached odatdagidek ishlaydi, ma'lumotlarni xotirada saqlaydi va tashqi xotiraga kirmaydi. Agar bo'sh xotira juda ko'p bo'lsa, unda eng kerakli ma'lumotlar qo'shimcha ravishda RAMdagi keshda to'liq joylashishi mumkin (masalan, faqat 1024 soniya davomida foydalanilmagan 3600 baytdan katta ob'ektlar Flash-ga qayta o'rnatilishini belgilashingiz mumkin. ).

Amalga oshirish maksimal ishlash va minimal protsessor yukini ta'minlash uchun optimallashtirilgan, saqlash samaradorligi hisobiga (yuqori bo'linish darajasi). Flash drayverlarning ishlash muddatini uzaytirish uchun ma'lumotlar buferlanadi va xotiraga ketma-ket tozalanadi. Qayta ishga tushirishlar o'rtasida kesh holatini saqlash uchun siz 1.5.18-versiyasida paydo bo'lgan faylga kesh dumpini tashlash qobiliyatidan foydalanishingiz mumkin. Keyingi ishga tushirilganda, kesh bo'shligi sababli kontent protsessorlaridagi yuklanishning cho'qqilarini yo'qotish uchun ushbu fayldan keshni tiklashingiz mumkin (kesh darhol "iliq" bo'ladi).

Memcached 1.6-dagi ikkinchi muhim o'zgarish bitta tizim qo'ng'irog'i doirasida ommaviy so'rovlarni avtomatik ravishda qayta ishlashga moslashtirilgan tarmoq aloqa kodini qayta ishlash edi. Ilgari, bitta TCP paketida bir nechta GET buyruqlarini yuborganda, memcached natijalarni alohida tizim qo'ng'iroqlari bilan yuborardi. Memcached 1.6 da javoblar umumlashtiriladi va bitta tizim chaqiruvini yuborish orqali qaytariladi. Natijada, hozirda har bir tizim qo‘ng‘irog‘iga o‘rtacha 1.5 ta kalit to‘g‘ri keladi, bu testlarda protsessor yuklanishining 25% gacha kamayganini va kechikishning bir necha foizga qisqarishini ko‘rsatadi.

Tarmoq quyi tizimini qayta loyihalash, shuningdek, buferlarni statik ravishda belgilash o'rniga, kerak bo'lganda, buferlarni dinamik taqsimlashga o'tish imkonini berdi. Ushbu optimallashtirish mijoz tomonidan o'rnatilgan ulanish orqali yangi buyruqlarni kutish paytida xotira sarfini 4.5 KB dan 400-500 baytgacha qisqartirdi, shuningdek, malloc, realloc va free-ga ko'plab qo'ng'iroqlardan xalos bo'lish imkonini berdi, bu esa xotiraning keraksiz parchalanishiga olib keladi. ko'p sonli ulanishlarga ega tizimlar. Har bir ishchi ip endi faol mijoz ulanishlari uchun o'z o'qish va yozish buferlarini boshqaradi. Bu buferlar hajmini sozlash uchun
“-o resp_obj_mem_limit=N” va “-o read_buf_mem_limt=N” variantlari taqdim etilgan.

1.6-band ham eskirganligini e'lon qildi ikkilik protokol server bilan o'zaro aloqa. Ikkilik protokolga texnik xizmat ko'rsatish va xatolarni tuzatish davom etadi, ammo yangi xususiyatlar va mavjud funksiyalarga yangilanishlar o'tkazilmaydi. Matn protokoli o'zgarishsiz rivojlanishda davom etadi. Ikkilik protokol yangi protokol bilan almashtirildi huzur (ixcham meta-buyruqlar bilan protokolning matnli versiyasi), ishlash va ishonchlilikning optimal kombinatsiyasini namoyish etadi. Yangi protokol matn va ikkilik protokollar orqali ilgari mavjud bo'lgan barcha operatsiyalarni qamrab oladi.

Manba: opennet.ru

a Izoh qo'shish