Memcached 1.6.0 ልቀት ከውጫዊ ማከማቻ ድጋፍ ነቅቷል።

ወስዷል የማህደረ ትውስታ መረጃ መሸጎጫ ስርዓት ጉልህ ልቀት Memcached 1.6.0, በመረጃ ላይ በቁልፍ / እሴት ቅርጸት የሚሰራ እና ለመጠቀም ቀላል ነው. Memcached የዲቢኤምኤስ እና የመሃል ዳታ መዳረሻን በመሸጎጥ ከፍተኛ ጭነት የሚጫኑ ጣቢያዎችን ለማፋጠን አብዛኛውን ጊዜ እንደ ቀላል ክብደት መፍትሄ ያገለግላል። ኮድ የቀረበ በ BSD ፍቃድ.

አዲሱ ስሪት የማከማቻውን ትግበራ ያረጋጋዋል "ማጋነን", አሁን በነባሪነት የተገነባው (በማዋቀር ስክሪፕት ውስጥ ለማሰናከል, "-disable-extstore" አማራጭ ቀርቧል), ነገር ግን በሚነሳበት ጊዜ ግልጽ ማግበርን ይጠይቃል (ከዝማኔው በኋላ የቆዩ ጭነቶች ያለ ለውጦች መስራታቸውን ይቀጥላሉ). ምንም እንኳን extstore በአጠቃላይ የተረጋጋ እንደሆነ ቢቆጠርም, በጣም ትልቅ በሆኑ ስርዓቶች ላይ ሲተገበር ጥንቃቄ ማድረግ ያስፈልጋል.

Extstore የመሸጎጫውን መጠን ለማስፋት ኤስኤስዲ/ፍላሽ አንጻፊዎችን እንዲጠቀሙ ይፈቅድልዎታል። እንደ RAM፣ ፍላሽ ማከማቻ ቋሚ አይደለም እና እንደገና ሲጀመር ዳግም ይጀመራል። የአዲሱ ሁነታ ወሰን ትልቅ ውሂብን በብቃት መሸጎጥ ማረጋገጥ ነው። "extstore" በሚጠቀሙበት ጊዜ ቁልፎች እና ሜታዳታ ልክ እንደበፊቱ በ RAM ውስጥ ብቻ ይቀመጣሉ, ነገር ግን ከቁልፍ ጋር የተያያዙ ትላልቅ መረጃዎች, መጠኑ ከተቀመጠው ገደብ በላይ, በውጫዊ ማከማቻ ውስጥ ይከማቻል, እና ጠቋሚው ብቻ በ RAM ውስጥ ይቀራል.

ቁልፉ ከትንሽ ዳታ ጋር የተያያዘ ከሆነ ሜምካሼድ እንደተለመደው ይሰራል፣ ውሂቡን በማህደረ ትውስታ ያስቀምጣል እና ውጫዊ ማከማቻ አይደርስም። ብዙ ነፃ ማህደረ ትውስታ ካለ ፣ ከዚያ በጣም አስፈላጊው መረጃ በ RAM ውስጥ ባለው መሸጎጫ ውስጥ ሙሉ በሙሉ ሊቀመጥ ይችላል (ለምሳሌ ፣ ከ 1024 ባይት በላይ የሆኑ እና ለ 3600 ሰከንድ ያልተገኙ ከ XNUMX ባይት በላይ የሆኑ ነገሮች ብቻ ወደ ፍላሽ እንደሚጀመሩ መግለጽ ይችላሉ ። ).

አተገባበሩ ከፍተኛውን አፈጻጸም እና አነስተኛ የሲፒዩ ጭነት ለማረጋገጥ የተመቻቸ ነው፣ በማከማቻ ቅልጥፍና (ከፍተኛ ደረጃ የመከፋፈል ደረጃ)። የፍላሽ አንፃፊዎችን ህይወት ለማራዘም መረጃው ተዘግቶ በቅደም ተከተል ወደ ማከማቻው ይታጠባል። በዳግም ማስጀመር መካከል ያለውን የመሸጎጫ ሁኔታ ለመቆጠብ በተለቀቀው 1.5.18 ላይ የሚታየውን ችሎታ በመጠቀም የመሸጎጫ መጣያ ወደ ፋይል ለመጣል ይችላሉ። በሚቀጥለው ጅምር ላይ መሸጎጫው ባዶ ስለሆነ (መሸጎጫው ወዲያውኑ "ሞቃት" ይሆናል) በይዘት ማቀነባበሪያዎች ላይ ያለውን ጫና ለማስወገድ ከዚህ ፋይል ውስጥ መሸጎጫውን ወደነበረበት መመለስ ይችላሉ.

በ Memcached 1.6 ውስጥ ሁለተኛው አስፈላጊ ለውጥ በአንድ የስርዓት ጥሪ ውስጥ የቡድን ጥያቄዎችን በራስ-ሰር ለማስኬድ የተስተካከለው የአውታረ መረብ ግንኙነት ኮድ እንደገና መሥራት ነው። ከዚህ ቀደም በርካታ የGET ትዕዛዞችን በአንድ TCP ፓኬት ሲልኩ ሜምካሼድ ውጤቱን በተለየ የስርዓት ጥሪዎች ይልካል። በ Memcached 1.6 ውስጥ፣ ምላሾች ተሰብስበው አንድ የስርዓት ጥሪ በመላክ ይመለሳሉ። በውጤቱም በአሁኑ ጊዜ በእያንዳንዱ የስርዓት ጥሪ በአማካይ 1.5 ቁልፎች አሉ, ይህም በፈተናዎች ውስጥ የሲፒዩ ጭነት እስከ 25% መቀነስ እና የቆይታ ጊዜን በበርካታ በመቶ ይቀንሳል.

የአውታር ንኡስ ስርዓት እንደገና መንደፉ እንዲሁ እንደ አስፈላጊነቱ ወደ ተለዋዋጭ ቋቶች ምደባ ለመንቀሳቀስ አስችሏል፣ በስታስቲክስ ቋት ከመመደብ ይልቅ። ይህ ማመቻቸት ከ4.5 ኪባ እስከ 400-500 ባይት ባለው ደንበኛ በተመሰረተ ግንኙነት አዳዲስ ትዕዛዞችን በመጠባበቅ ላይ እያለ የማህደረ ትውስታ ፍጆታን ቀንሷል እና እንዲሁም ብዙ ጥሪዎችን ወደ malloc ፣ realloc እና ነፃ ለማስወገድ አስችሏል ፣ ይህም ወደ አላስፈላጊ ማህደረ ትውስታ መከፋፈል ያመራል። ብዙ ቁጥር ያላቸው ግንኙነቶች ያላቸው ስርዓቶች. እያንዳንዱ የሰራተኛ ክር አሁን ለንቁ የደንበኛ ግንኙነቶች የራሱን የንባብ እና የመፃፍ ገንዳ ይይዛል። የእነዚህን መያዣዎች መጠን ለማስተካከል
“-o resp_obj_mem_limit=N” እና “-o read_buf_mem_limt=N” የሚሉት አማራጮች ቀርበዋል።

ቅርንጫፍ 1.6 መቋረጥንም አስታውቋል ሁለትዮሽ ፕሮቶኮል ከአገልጋዩ ጋር መስተጋብር. የሁለትዮሽ ፕሮቶኮል ጥገና እና የሳንካ ጥገናዎች ይቀጥላሉ፣ ነገር ግን አዲስ ባህሪያት እና የነባር ባህሪያት ዝማኔዎች አይተላለፉም። የጽሑፍ ፕሮቶኮል ያለ ለውጦች ማደጉን ይቀጥላል. የሁለትዮሽ ፕሮቶኮል በአዲስ ፕሮቶኮል ተተክቷል። ሜታ (የፕሮቶኮሉ የጽሑፍ ሥሪት ከታመቁ ሜታ-ትዕዛዞች ጋር)፣ ጥሩውን የአፈጻጸም እና አስተማማኝነት ጥምረት ያሳያል። አዲሱ ፕሮቶኮል ከዚህ ቀደም በጽሁፍ እና በሁለትዮሽ ፕሮቶኮሎች የሚገኙ ሁሉንም ስራዎች ይሸፍናል።

ምንጭ: opennet.ru

አስተያየት ያክሉ