Yeni versiya yaddaşın tətbiqini sabitləşdirir "
Extstore, keşin ölçüsünü genişləndirmək üçün SSD/Flash disklərdən istifadə etməyə imkan verir. RAM ilə olduğu kimi, Flash yaddaş daimi deyil və yenidən başladıqdan sonra sıfırlanır. Yeni rejimin əhatə dairəsi böyük məlumatların səmərəli keşləşdirilməsini təmin etməkdir. "Exstore" istifadə edərkən açarlar və metaməlumatlar, əvvəlki kimi, yalnız RAM-da saxlanılır, lakin ölçüsü müəyyən edilmiş həddi aşan açarlarla əlaqəli böyük məlumatlar xarici yaddaşda saxlanılır və RAM-da yalnız göstərici qalır.
Açar kiçik məlumatlar ilə əlaqələndirilirsə, Memcached həmişəki kimi işləyir, məlumatları yaddaşda saxlayır və xarici yaddaşa daxil olmur. Əgər çoxlu boş yaddaş varsa, o zaman ən çox tələb olunan məlumatlar əlavə olaraq RAM-da keşdə yerləşə bilər (məsələn, yalnız 1024 saniyə ərzində əldə edilməyən 3600 baytdan böyük obyektlərin Flash-a sıfırlanacağını təyin edə bilərsiniz. ).
Tətbiq yaddaşın səmərəliliyi (yüksək parçalanma səviyyəsi) hesabına maksimum performans və minimal CPU yüklənməsini təmin etmək üçün optimallaşdırılmışdır. Flash sürücülərin ömrünü uzatmaq üçün məlumatlar ardıcıl olaraq buferlənir və yaddaşa yuyulur. Yenidən başlatmalar arasında keş vəziyyətini saxlamaq üçün siz 1.5.18 buraxılışında görünən imkandan istifadə edərək keş zibilini fayla köçürə bilərsiniz. Növbəti başlanğıcda, keşin boş olması səbəbindən məzmun prosessorlarında yüklənmənin zirvələrini aradan qaldırmaq üçün bu fayldan keşi bərpa edə bilərsiniz (keş dərhal "isti" olur).
Memcached 1.6-da ikinci mühüm dəyişiklik bir sistem çağırışı daxilində toplu sorğuları avtomatik emal etmək üçün uyğunlaşdırılmış şəbəkə rabitə kodunun yenidən işlənməsi idi. Əvvəllər bir TCP paketində çoxlu GET əmrləri göndərilərkən, memcached nəticələri ayrı sistem zəngləri ilə göndərirdi. Memcached 1.6-da cavablar toplanır və tək sistem zəngi göndərməklə geri qaytarılır. Nəticədə, indi hər sistem çağırışında orta hesabla 1.5 düymə var ki, bu da sınaqlarda CPU yükünün 25%-ə qədər azaldığını və gecikmə müddətinin bir neçə faiz azaldığını nümayiş etdirir.
Şəbəkə alt sisteminin yenidən dizaynı həm də buferləri statik olaraq təyin etmək əvəzinə, lazım olduqda buferlərin dinamik ayrılmasına keçməyə imkan verdi. Bu optimallaşdırma, müştəri tərəfindən qurulmuş əlaqə vasitəsilə yeni əmrləri gözləyərkən yaddaş istehlakını 4.5 KB-dan 400-500 bayta qədər azaldıb, həmçinin malloc, realloc və free-ə çoxlu zənglərdən xilas olmağa imkan verdi ki, bu da yaddaşın lazımsız parçalanmasına səbəb olur. çoxlu sayda əlaqələri olan sistemlər. Hər bir işçi tel indi aktiv müştəri əlaqələri üçün oxumaq və yazma buferlərinin öz hovuzunu idarə edir. Bu tamponların ölçüsünü tənzimləmək üçün
“-o resp_obj_mem_limit=N” və “-o read_buf_mem_limt=N” seçimləri təmin edilir.
1.6 şöbəsi də köhnəldiyini açıqladı
Mənbə: opennet.ru