Pelepasan Memcached 1.6.0 kalayan dukungan pikeun neundeun éksternal diaktipkeun

lumangsung release signifikan tina sistem cache data dina-memori Memcached 1.6.0, anu ngoperasikeun data dina format konci/nilai sareng gampang dianggo. Memcached biasana dianggo salaku solusi anu hampang pikeun nyepetkeun padamelan situs-situs beban tinggi ku cara ngémutan aksés kana DBMS sareng data perantara. Kodeu dibekelan handapeun lisénsi BSD.

Versi anyar stabilizes palaksanaan gudang "extstore", nu ayeuna diwangun sacara standar (pikeun nganonaktipkeun dina Aksara Konpigurasikeun, pilihan "-disable-extstore" disadiakeun), tapi merlukeun aktivasina eksplisit di ngamimitian (instalasi heubeul bakal neruskeun dianggo tanpa parobahan sanggeus update). Sanajan extstore umumna dianggap stabil, caution disarankan nalika nerapkeun eta dina sistem anu kacida gedéna.

Extstore ngidinan Anjeun pikeun make SSD / Flash drive rék dilegakeun ukuran cache. Sapertos RAM, panyimpen Flash henteu permanén sareng direset nalika dibalikan deui. Ruang lingkup mode anyar nyaéta pikeun mastikeun cache efisien data ageung. Nalika nganggo "extstore", konci sareng metadata, sapertos sateuacana, disimpen ukur dina RAM, tapi data ageung anu aya hubunganana sareng konci, ukuranana ngaleuwihan bangbarung set, disimpen dina panyimpenan éksternal, sareng ngan ukur pointer tetep dina RAM.

Upami koncina aya hubunganana sareng data alit, Memcached jalan sapertos biasa, ngajaga data dina mémori sareng henteu ngaksés panyimpenan éksternal. Upami aya seueur mémori gratis, maka data anu paling diperyogikeun ogé tiasa disimpen lengkep dina cache dina RAM (contona, anjeun tiasa netepkeun yén ngan ukur objék anu langkung ageung tibatan 1024 bait anu teu acan diakses salami 3600 detik anu direset kana Flash. ).

Palaksanaan ieu dioptimalkeun pikeun mastikeun kinerja maksimum sarta beban CPU minimal, di expense efisiensi gudang (tingkat luhur fragméntasi). Pikeun manjangkeun umur Flash drive, data disanggakeun sareng disiramkeun ka panyimpenan sacara berurutan. Pikeun nyimpen kaayaan cache antara balikan deui, anjeun tiasa nganggo kamampuhan nu mucunghul dina release 1.5.18 mun dump a dump cache kana file. Dina ngamimitian salajengna, anjeun tiasa mulangkeun cache tina file ieu pikeun ngaleungitkeun puncak beban dina prosesor eusi kusabab cache kosong (cache langsung janten "haneut").

Parobahan penting kadua di Memcached 1.6 nya éta reworking tina kode komunikasi jaringan, nu diadaptasi pikeun otomatis ngolah requests bets dina sauran sistem tunggal. Saméméhna, nalika ngirimkeun sababaraha paréntah GET dina pakét TCP tunggal, memcached bakal ngirim hasil nganggo telepon sistem anu misah. Dina Memcached 1.6, réspon dihijikeun sareng dipulangkeun ku ngirim telepon sistem tunggal. Hasilna, ayeuna aya rata-rata 1.5 konci per panggero sistem, anu dina tés nunjukkeun pangurangan beban CPU dugi ka 25% sareng pangurangan latency ku sababaraha persen.

The redesign tina subsistem jaringan ogé ngamungkinkeun pikeun pindah ka alokasi dinamis tina buffers sakumaha diperlukeun, tinimbang statically assigning buffers. optimasi Ieu ngurangan konsumsi memori bari ngantosan paréntah anyar ngaliwatan sambungan klien-ngadegkeun tina 4.5 KB ka 400-500 bait, sarta ogé ngamungkinkeun pikeun meunang leupas tina loba nelepon ka malloc, realloc tur haratis, nu ngakibatkeun fragméntasi memori teu perlu on. sistem kalawan jumlah badag sambungan. Unggal thread pagawe ayeuna handles kolam renang sorangan maca jeung nulis buffers pikeun sambungan klien aktip. Pikeun nyaluyukeun ukuran panyangga ieu
pilihan "-o resp_obj_mem_limit = N" jeung "-o read_buf_mem_limt = N" disadiakeun.

Cabang 1.6 ogé ngumumkeun deprecation tina protokol binér interaksi jeung server. Pangropéa protokol binér sareng perbaikan bug bakal diteruskeun, tapi fitur anyar sareng apdet pikeun fitur anu tos aya moal ditransfer. Protokol téks bakal terus ngamekarkeun tanpa parobahan. Protokol binér geus diganti ku protokol anyar meta (versi téks tina protokol jeung meta-paréntah kompak), demonstrating kombinasi optimal kinerja jeung reliabilitas. Protokol anyar nyertakeun sadaya operasi anu saacanna sayogi ngalangkungan téks sareng protokol binér.

sumber: opennet.ru

Tambahkeun komentar