Lab 07: Buffer Pool & Memory Tuning
Overview
Step 1: MySQL InnoDB Buffer Pool Sizing
docker run -d --name mysql-lab \
-e MYSQL_ROOT_PASSWORD=rootpass \
mysql:8.0 \
--innodb_buffer_pool_size=512M \
--innodb_buffer_pool_instances=2 \
--innodb_buffer_pool_chunk_size=128M \
--innodb_log_file_size=256M \
--innodb_flush_log_at_trx_commit=1
for i in $(seq 1 30); do docker exec mysql-lab mysql -uroot -prootpass -e "SELECT 1" 2>/dev/null && break || sleep 2; done
# Verify buffer pool settings
docker exec mysql-lab mysql -uroot -prootpass -e "
SHOW VARIABLES LIKE 'innodb_buffer_pool%';
SHOW VARIABLES LIKE 'innodb_log_file_size';
"Step 2: Create Test Data and Warm Up Buffer Pool
Step 3: SHOW ENGINE INNODB STATUS — Buffer Pool Section
Step 4: Calculate Buffer Pool Hit Rate
Step 5: Monitor Buffer Pool Instances
Step 6: PostgreSQL Memory Configuration
Step 7: pg_buffercache Extension
Step 8: Capstone — Memory Tuning Recommendations Script
Summary
Setting
MySQL
PostgreSQL
Rule of Thumb
Key Takeaways
Last updated
