Calculer la consommation mémoire de MySQL |
Déterminer la consommation globale
A l’aide de la commande suivante, vous pouvez récupérer toutes les variables nécessaire à votre calcul (à faire avec une TI82 🙂 ) :
mysql -e"SHOW VARIABLES;" > /tmp/variables.log
f(x) = 7cx + 1/2by + 8cz3
Le calcul de la consommation maximale :
Global Usage = key_buffer_size + query_cache_size + 1.1 * innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size
Calculs détaillés
Pour des calculs plus détaillés et plus fins, il est possible de déterminer la consommation par thread et par requête :
Per Query = "buffer for reading rows" + "sorting" + "full joins" + "binlog cache" + "index preload" + "internal tmp tables" = max(read_buffer_size, read_rnd_buffer_size) + max(sort_buffer_size/2, "avg queries with scan" * "avg scans with merge" * sort_buffer_size) + "avg full joins" * join_buffer_size + "avg binlog cache use" * binlog_cache_size + preload_buffer_size + "avg tmp tables" * min(tmp_table_size, max_heap_table_size) Total = "Global Usage" + ( max_used_connections * ("Per Thread" + "Per Query") )
Source :https://easyteam.fr/reduire-consommation-memoire-dune-instance-mysql-limport-de-donnees/