ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

MariaDB config

by Little Bear @9 พ.ค. 69 17:54 ( IP : 110...6 )

Server มี RAM 32GB nginx + php 8.3

ลองตั้งค่า config ในไฟล์ /etc/mysql/my.cmf

[mysqld]
# ตั้งค่าขนาดที่แนะนำ
innodb_buffer_pool_size = 16G

# แบ่ง Buffer Pool เป็นส่วนย่อยเพื่อลดการแย่งทรัพยากร (แนะนำ 1GB ต่อ 1 Instance)
innodb_buffer_pool_instances = 16

# (ถ้ามี) ตั้งค่าขีดจำกัดล่างให้ระบบยืดหยุ่น
innodb_buffer_pool_size_auto_min = 8G
innodb_buffer_pool_size_auto_shrink = ON

ลองปรับขนาดแบบ Dynamic

sql
SET GLOBAL innodb_buffer_pool_size = 20G;

ปล. เคยลองแล้วไม่ได้ผล เขาบอกว่า ระบบจะค่อยๆ ปรับขนาดใน Background โดยแบ่งเป็นส่วนๆ (Chunks) จนครบตามที่คุณสั่ง

ลองตรวจสอบด้วยคำสั่ง

SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_%';
SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
(SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
FROM information_schema.tables WHERE engine='InnoDB') A;
SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
(SELECT variable_value PagesData
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_data') A,
(SELECT variable_value PageSize
FROM information_schema.global_status
WHERE variable_name='Innodb_page_size') B;