HỌC VIỆN BUFFER POOL
Quy tắc ngón tay cái tôi thường sử dụng dựa trên một chương trình đặc biệt trong môi trường Linux
numactl --hardware
Khi tôi chạy cái này, tôi nhận được đầu ra sau
sh-4.1# numactl --hardware
available: 4 nodes (0-3)
node 0 cpus: 0 1 2 3
node 0 size: 49151 MB
node 0 free: 241 MB
node 1 cpus: 4 5 6 7
node 1 size: 32768 MB
node 1 free: 39 MB
node 2 cpus: 8 9 10 11
node 2 size: 49152 MB
node 2 free: 49 MB
node 3 cpus: 12 13 14 15
node 3 size: 32752 MB
node 3 free: 32 MB
node distances:
node 0 1 2 3
0: 10 16 16 16
1: 16 10 16 16
2: 16 16 10 16
3: 16 16 16 10
Điều này nhanh chóng cho tôi biết tôi có bao nhiêu CPU và lõi trên Máy chủ DB của mình.
Nói chung, tôi đặt innodb_buffer_pool_instances thành số lượng CPU vật lý hoặc số lượng lõi. Nói riêng, tôi đặt innodb_buffer_pool_instances thành 4 hoặc 16.
KÍCH THƯỚC BUFFER
Nếu bạn làm cho Bộ đệm InnoDB lớn hơn 50% RAM đã cài đặt, mysqld sẽ khiến HĐH bắt đầu hoán đổi ... TRỞ LÊN !!!! Nếu bạn cần một Buffer Pool lớn như vậy, thì việc điều chỉnh innodb_buffer_pool_instances thậm chí còn trở nên quan trọng hơn.
TIẾNG VIỆT
Ngay khi innodb_buffer_pool_instances được giới thiệu lần đầu tiên, tôi đã ngay lập tức thử nghiệm nó. Tôi đã có một máy khách có Máy chủ DB 192GB, hexacore kép với Bộ đệm 162 GB. Tôi chỉ đơn giản là đặt nó thành 2 và mọi thứ đều ổn. Vui lòng xem bài viết cũ của tôi từ ngày 12 tháng 2 năm 2011 về điều này: Làm thế nào để bạn điều chỉnh MySQL cho khối lượng công việc InnoDB nặng?
HÃY THỬ MỘT LẦN !!!