replication-manager
replication-manager copied to clipboard
IA module multi cluster memory management
The feature is to have a per cluster computation of memory pressure, memory pression can be compute based on page missed historical data that are already stored inside carbon db when monitoring enable.
New default parameter can be introduce
ia_auto_tune_memory = true
ia_max_pct_memory_claim = 50
ia_hypervisor_memory = default agent memory
Each cluster should be given a rule base on a service plan if a cluster is booked for 32G of memory than it become default startup memory and max_memory_allocation for a cluser
IA computation decrease and increase memory usage per cluster and give delta memory used vs max_memory_allocation back to a free_memory_pool
Per monitoring interval(free_memory_pool - sum_clusters(real_memory_usage)) is monitored to decide if a workload can be inserted into the free_memory_pool
sum of each cluster memory is cap to prov_ia_instance_memory and if many cluster request increasing memory that overflow the limit they are all equi cap to free_memory_pool divide per number increase request , we will then monitor each cluster to send an alert to track period of time when a cluster can not reach is max_memory_allocation
Pro active memory increase and decrease request can be validate via comparing the pages missed of current status comparing it to historical data paged missed on last 5 minutes load ponderated with last days 5 minutes load at same time
https://mariadb.com/kb/en/setting-innodb-buffer-pool-size-dynamically/
Buffer pool resize status is checked to not resized until previous resize is done
ia_auto_tune_threads = true
http://127.0.0.1:10002/render/?from=-1440minutes&&target=sumSeries(mysql.*.mysql_global_status_threads_running)&maxDataPoints=1100&format=json
ia_auto_tune_threads = true