คู่มือ Memcached Memory Allocation สำหรับ Memcached
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
เมคแคชซึ่งเป็นระบบแคชหน่วยความจำแบบกระจายมักใช้เพื่อเพิ่มประสิทธิภาพและความพร้อมใช้งานของแอปพลิเคชันที่โฮสต์โดยการลดภาระของฐานข้อมูลโดยจะสร้างแคชทั่วไปสำหรับ Node แอปพลิเคชันทั้งหมดและแสดงถึงหน่วยความจำระยะสั้นของแอปพลิเคชันของคุณ
เรามาดูกันว่าการจัดสรรหน่วยความจำในงาน Memcached และเราจะกำจัดการกระจายตัวของหน่วยความจำในขณะที่ใช้แพลตฟอร์มด้วยวิธีใด
ระบบ Memcached ใช้แผ่นคอนกรีตแทนการจัดสรรหน่วยความจำทีละรายการผลที่ได้คือปรับปรุงการใช้งานหน่วยความจำและปกป้องจากการกระจายตัวในกรณีที่ข้อมูลหมดอายุจากแคช
แต่ละแผ่นประกอบด้วยหน้าขนาด 1 MB หลายหน้าและแต่ละหน้าจะประกอบด้วยบล็อกหรือชิ้นจำนวนเท่ากันหลังจากที่ทุกข้อมูลที่จัดเก็บ Memcached จะกำหนดขนาดข้อมูลและค้นหาการจัดสรรที่เหมาะสมในแผ่นคอนกรีตทั้งหมดหากมีการจัดสรรดังกล่าวข้อมูลจะถูกเขียนลงไปหากไม่มีการจัดสรรที่เหมาะสม Memcached จะสร้างแผ่นพื้นใหม่และแบ่งออกเป็นบล็อกตามขนาดที่จำเป็นในกรณีที่คุณอัปเดตรายการที่จัดเก็บไว้แล้วและค่าใหม่เกินขนาดของการจัดสรรบล็อกที่เก็บไว้ก่อนหน้านี้ Memcached จะย้ายรายการดังกล่าวไปยังแผ่นพื้นอื่นที่เหมาะสม
ด้วยเหตุนี้ทุกอินสแตนซ์จึงมีเพจหลายเพจกระจายและจัดสรรไว้ภายในหน่วยความจำ Memcached วิธีการจัดสรรนี้ป้องกันการกระจายตัวของหน่วยความจำแต่ในทางกลับกันอาจทำให้เปลืองหน่วยความจำได้หากคุณมีรายการที่มีขนาดการจัดสรรเท่ากันไม่เพียงพอกล่าวคือในแต่ละหน้าจะมีเนื้อหาเพียงไม่กี่ชิ้นเท่านั้นดังนั้นจุดสำคัญอีกประการหนึ่งคือการกระจายรายการที่เก็บไว้
ด้วยแพลตฟอร์มนี้คุณจะมีโอกาสปรับเปลี่ยนค่าสัมประสิทธิ์การเติบโตของแผ่นคอนกรีตได้ในระหว่างที่แอปพลิเคชันของคุณกำลังทำงานอยู่สำหรับสิ่งนั้นให้คลิกที่การกำหนดค่าถัดจาก Node Memcached ให้นำทางไปยังการประชุมไดเรกทอรีและเปิดเมคแคชไฟล์. แก้ไขเช่นด้วยวิธีต่อไปนี้:
ตัวเลือก = "-vv 2>> /var/log/memcached/memcached.log -f 2 -n 32"
ในตัวอย่างนี้-ฉ 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 ที่พลาดและปรับปรุงประสิทธิภาพ
ด้วยการเพิ่มประสิทธิภาพที่ง่ายและตรงไปตรงมานี้เราจึงสามารถปรับปรุงการใช้งานหน่วยความจำที่จัดสรรได้