เพื่อที่จะรับรองการใช้ทรัพยากรอย่างมีประสิทธิภาพ Ruk-Com Cloud สามารถกำหนดค่าของการจัดการแสต็กบางส่วนโดยอัตโนมัติตามขีดจำกัดการปรับขนาด (ตามจำนวน cloudlets) ในปัจจุบัน เทมเพลตต่อไปนี้สามารถใช้ประโยชน์จากคุณสมบัติ Smart Auto-Configuration:
- Databases: MySQL, MariaDB, Percona
- PHP: Apache, NGINX
- LiteSpeed: Web Server, ADC, LLSMP
เคล็ดลับ: คลิกลิงก์เพื่อดูการตั้งค่าใดบ้างที่ปรับเปลี่ยนในแต่ละกรณี
สแต็กที่กล่าวถึงข้างต้นมีลักษณะเฉพาะบางอย่างที่รองรับการใช้งานดังนี้
1. เทมเพลตใช้โปรแกรมเริ่มต้น systemd ที่ทันสมัยซึ่งมีฟีเจอร์และเครื่องมือหลายอย่างที่จำเป็นสำหรับการใช้งานการกำหนดค่าอัตโนมัติ
2. ตัวแปรพิเศษ JELASTIC_AUTOCONFIG environment กำหนดว่าควรเปิดใช้งานฟีเจอร์การกำหนดค่าอัตโนมัติ (true โดยค่าเริ่มต้น) หรือปิดใช้งาน (false)
หากคุณต้องการปิดใช้งาน Smart Auto-Configuration ให้เพิ่ม (หรือแก้ไขหากมีอยู่แล้ว) ตัวแปรนี้ด้วยค่า false ผ่าน dashboard
อย่าลืม Restart Node(s) เพื่อปรับใช้การเปลี่ยนแปลง
3. การกู้คืนอัจฉริยะหลังจากข้อผิดพลาด OOM ทำให้การกำหนดค่าอัตโนมัติปรับเปลี่ยนใหม่เพื่อลดการใช้ memory ของคอนเทนเนอร์
เพิ่มเติม: Smart OOM recovery ทำงานบนคอนเทนเนอร์ที่เปิดใช้งาน JELASTIC_AUTOCONFIG และในปัจจุบันสำหรับ database stacks ต่อไปนี้เท่านั้น
– MySQL 8.0.25; 5.7.34
– MariaDB 10.3.30; 10.4.20; 10.5.11; 10.6.3
– Percona 5.7.33; 8.0.23
หากการทำ OOM killer ทำให้คอนเทนเนอร์ใช้งานไม่ได้ (เนื่องจากกระบวนการที่สำคัญบางอย่างถูกทำลาย) จะทำการรีสตาร์ทโหลดนี้โดยอัตโนมัติและการกู้คืนอัจฉริยะจะลดค่าพารามิเตอร์ innodb_buffer_pool_size ในกรณีที่เกิดเหตุการณ์ขึ้นอีก โดยวงจรการลดดังกล่าวจะถูกทำซ้ำ
คุณสามารถปรับแต่งตัวแปร environment เพื่อปรับพฤติกรรมของระบบที่เกี่ยวข้องกับปัญหา OOM Kills:
- OOM_DETECTION_DELTA – กำหนดช่วงเวลา (ค่าเริ่มต้น 2 วินาที) เพื่อให้วิเคราะห์และบันทึก /var/log/messages หลังจากการรีสตาร์ทแต่ละ service เพื่อตัดสินว่าเกิดจาก OOM killer หรือไม่
- OOM_ADJUSTMENT – กำหนดค่าเป็น %, MB, GB (ค่าเริ่มต้น 10%) โดยที่พารามิเตอร์ innodb_buffer_pool_size ปัจจุบันควรลดลงหลังจากการรีสตาร์ทแต่ละครั้งที่เกิดจาก OOM
- MAX_OOM_REDUCE_CYCLES – กำหนดจำนวนรอบสูงสุดสำหรับการลดขนาด innodb_buffer_pool_size (ค่าเริ่มต้น 5 ครั้ง)