ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / MEMCACHED

คู่มือ Memcached Memory Allocation สำหรับ Memcached

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

เมคแคชซึ่งเป็นระบบแคชหน่วยความจำแบบกระจายมักใช้เพื่อเพิ่มประสิทธิภาพและความพร้อมใช้งานของแอปพลิเคชันที่โฮสต์โดยการลดภาระของฐานข้อมูลโดยจะสร้างแคชทั่วไปสำหรับ Node แอปพลิเคชันทั้งหมดและแสดงถึงหน่วยความจำระยะสั้นของแอปพลิเคชันของคุณ

เรามาดูกันว่าการจัดสรรหน่วยความจำในงาน Memcached และเราจะกำจัดการกระจายตัวของหน่วยความจำในขณะที่ใช้แพลตฟอร์มด้วยวิธีใด

ระบบ Memcached ใช้แผ่นคอนกรีตแทนการจัดสรรหน่วยความจำทีละรายการผลที่ได้คือปรับปรุงการใช้งานหน่วยความจำและปกป้องจากการกระจายตัวในกรณีที่ข้อมูลหมดอายุจากแคช

แต่ละแผ่นประกอบด้วยหน้าขนาด 1 MB หลายหน้าและแต่ละหน้าจะประกอบด้วยบล็อกหรือชิ้นจำนวนเท่ากันหลังจากที่ทุกข้อมูลที่จัดเก็บ Memcached จะกำหนดขนาดข้อมูลและค้นหาการจัดสรรที่เหมาะสมในแผ่นคอนกรีตทั้งหมดหากมีการจัดสรรดังกล่าวข้อมูลจะถูกเขียนลงไปหากไม่มีการจัดสรรที่เหมาะสม Memcached จะสร้างแผ่นพื้นใหม่และแบ่งออกเป็นบล็อกตามขนาดที่จำเป็นในกรณีที่คุณอัปเดตรายการที่จัดเก็บไว้แล้วและค่าใหม่เกินขนาดของการจัดสรรบล็อกที่เก็บไว้ก่อนหน้านี้ Memcached จะย้ายรายการดังกล่าวไปยังแผ่นพื้นอื่นที่เหมาะสม

Image 28: memcached memory allocation 1ด้วยเหตุนี้ทุกอินสแตนซ์จึงมีเพจหลายเพจกระจายและจัดสรรไว้ภายในหน่วยความจำ Memcached วิธีการจัดสรรนี้ป้องกันการกระจายตัวของหน่วยความจำแต่ในทางกลับกันอาจทำให้เปลืองหน่วยความจำได้หากคุณมีรายการที่มีขนาดการจัดสรรเท่ากันไม่เพียงพอกล่าวคือในแต่ละหน้าจะมีเนื้อหาเพียงไม่กี่ชิ้นเท่านั้นดังนั้นจุดสำคัญอีกประการหนึ่งคือการกระจายรายการที่เก็บไว้

ด้วยแพลตฟอร์มนี้คุณจะมีโอกาสปรับเปลี่ยนค่าสัมประสิทธิ์การเติบโตของแผ่นคอนกรีตได้ในระหว่างที่แอปพลิเคชันของคุณกำลังทำงานอยู่สำหรับสิ่งนั้นให้คลิกที่การกำหนดค่าถัดจาก Node Memcached ให้นำทางไปยังการประชุมไดเรกทอรีและเปิดเมคแคชไฟล์. แก้ไขเช่นด้วยวิธีต่อไปนี้:

ตัวเลือก = "-vv 2>> /var/log/memcached/memcached.log -f 2 -n 32"

Image 29: memcached memory allocation memcached configในตัวอย่างนี้-ฉ 2ระบุว่าคุณจะเห็นแผ่นคอนกรีต 14 แผ่นที่มีขนาดเป็นสองเท่าและค่าหลัง-nกำหนดพื้นที่ขั้นต่ำที่จัดสรรสำหรับคีย์แฟล็กและค่า

เราได้รับผลลัพธ์ดังต่อไปนี้:

  • รายละเอียดก้อน:

สำเนา

#  Item_Size  Max_age   Pages   Count   Full?  Evicted Evict_Time    OOM
3     320B       550s       1     113     yes        0        0       0
4     640B       681s       1     277     yes        0        0       0
  • การใช้หน่วยความจำ:

สำเนา

total          used        free      shared    buffers     cached
Mem:           128          84         43          0          0         70
-/+ buffers/cache:          14        113
Swap:            0            0

ตอนนี้ให้ป้อนการตั้งค่าเริ่มต้นอีกครั้งแล้วตรวจสอบค่าที่เราจะได้รับ:

ตัวเลือก = "-vv 2>> /var/log/memcached/memcached.log"

  • รายละเอียดก้อน:

สำเนา

#  Item_Size  Max_age   Pages   Count   Full?  Evicted Evict_Time OOM
5     240B       765s       1      27     yes        0        0     0
6     304B       634s       1      93     yes        0        0     0
7     384B       634s       1     106     yes        0        0     0
8     480B       703s       1     133     yes        0        0     0
9     600B       634s       1      57     yes        0        0     0
  • การใช้หน่วยความจำ:

สำเนา

total       used       free     shared    buffers     cached
Mem:           128         87         40          0          0         70
-/+ buffers/cache:         17        110
Swap:            0          0          0

นอกจากนี้คุณยังสามารถเพิ่ม-ลพารามิเตอร์เพื่อเพิ่มขนาดหน้าหน่วยความจำและลดจำนวน TLB ที่พลาดและปรับปรุงประสิทธิภาพ

ด้วยการเพิ่มประสิทธิภาพที่ง่ายและตรงไปตรงมานี้เราจึงสามารถปรับปรุงการใช้งานหน่วยความจำที่จัดสรรได้