Издање Мемцацхед 1.6.0 са омогућеном подршком за спољну меморију

одиграло се значајно ослобађање система за кеширање података у меморији Мемцацхед 1.6.0, који ради на подацима у формату кључ/вредност и једноставан је за употребу. Мемцацхед се обично користи као лако решење за убрзавање рада сајтова са великим оптерећењем кеширањем приступа ДБМС-у и међуподацима. Код испоручује се под БСД лиценцом.

Нова верзија стабилизује имплементацију складишта "ектсторе“, који је сада направљен подразумевано (да би се онемогућио у скрипти за конфигурисање, обезбеђена је опција „-дисабле-ектсторе“), али захтева експлицитну активацију при покретању (старе инсталације ће наставити да раде без промена након ажурирања). Иако се ектсторе генерално сматра стабилним, саветује се опрез када се примењује на веома великим системима.

Ектсторе вам омогућава да користите ССД/флеш дискове за проширење величине кеша. Као и код РАМ меморије, Фласх меморија није трајна и ресетује се након поновног покретања. Опсег новог режима је да обезбеди ефикасно кеширање великих података. Када се користи „ектсторе“, кључеви и метаподаци се, као и раније, чувају само у РАМ-у, али велики подаци повезани са кључевима, чија величина премашује постављени праг, чувају се у екстерној меморији, а само показивач остаје у РАМ-у.

Ако је кључ повезан са малим подацима, онда Мемцацхед ради као и обично, чува податке у меморији и не приступа спољној меморији. Ако има пуно слободне меморије, онда се најпотребнији подаци додатно могу у потпуности лоцирати у кеш меморији у РАМ-у (на пример, можете навести да се само објекти већи од 1024 бајта којима се није приступило 3600 секунди ресетују на Фласх ).

Имплементација је оптимизована да обезбеди максималне перформансе и минимално оптерећење ЦПУ-а, на рачун ефикасности складиштења (висок ниво фрагментације). Да би се продужио животни век флеш дискова, подаци се чувају у баферу и испуштају у складиште узастопно. Да бисте сачували стање кеша између поновних покретања, можете користити могућност која се појавила у издању 1.5.18 да извучете думп кеша у датотеку. Приликом следећег покретања, можете да вратите кеш меморију из ове датотеке да бисте елиминисали врхове оптерећења на процесорима садржаја због тога што је кеш празан (кеш меморија одмах постаје „топла“).

Друга важна промена у Мемцацхед-у 1.6 била је прерада мрежног комуникационог кода, који је прилагођен да аутоматски обрађује пакетне захтеве у оквиру једног системског позива. Раније, када се шаље више ГЕТ команди у једном ТЦП пакету, мемцацхед би слао резултате са засебним системским позивима. У Мемцацхед 1.6, одговори се агрегирају и враћају слањем једног системског позива. Као резултат, сада постоји у просеку 1.5 кључева по системском позиву, што у тестовима показује смањење оптерећења ЦПУ-а до 25% и смањење кашњења за неколико процената.

Редизајн мрежног подсистема је такође омогућио прелазак на динамичку алокацију бафера по потреби, уместо статичког додељивања бафера. Ова оптимизација је смањила потрошњу меморије док се чекају нове команде преко конекције коју је успоставио клијент са 4.5 КБ на 400-500 бајтова, а такође је омогућила да се отарасите многих позива на маллоц, реаллоц и фрее, што доводи до непотребне фрагментације меморије на системи са великим бројем прикључака. Свака радна нит сада рукује сопственим скупом бафера за читање и писање за активне клијентске везе. Да бисте подесили величину ових бафера
обезбеђене су опције „-о респ_обј_мем_лимит=Н” и „-о реад_буф_мем_лимт=Н”.

Грана 1.6 је такође најавила застарелост бинарни протокол интеракција са сервером. Одржавање бинарног протокола и исправке грешака ће се наставити, али нове функције и ажурирања постојећих функција неће бити пренети. Текст протокол наставиће да се развија без промена. Бинарни протокол је замењен новим протоколом Мета (текстуална верзија протокола са компактним мета-командама), демонстрирајући оптималну комбинацију перформанси и поузданости. Нови протокол покрива све операције које су раније биле доступне путем текстуалних и бинарних протокола.

Извор: опеннет.ру

Додај коментар