Tuning Mysql: differenze tra le versioni
Jump to navigation
Jump to search
(Creata pagina con "==innodb (8.0+)== Impostazioni per avere un database che usa solo InnoDB: Categoria:Database Categoria:Mysql Categoria:OpenSource") |
|||
(8 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 2: | Riga 2: | ||
Impostazioni per avere un database che usa solo InnoDB: |
Impostazioni per avere un database che usa solo InnoDB: |
||
parametri di startup linea di comando (controllare sulla documentazione cosa fanno e come si usano): |
|||
--innodb-dedicated-server |
|||
--memlock |
|||
====Modificabili solo nel file di configurazione, serve poi riavvio istanza:==== |
|||
set persist_only disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE"; |
|||
Con linux serve configurazione hugepages: |
|||
set persist_only large_pages=ON; |
|||
con 8.4 dovrebbe essere già default: |
|||
set persist_only innodb_flush_method=O_DIRECT; |
|||
set persist_only global_connection_memory_limit=536870912; |
|||
set persist_only global-connection-memory-tracking=TRUE; |
|||
====Modificabili a caldo:==== |
|||
set persist innodb_buffer_pool_size=536870912; |
|||
set persist innodb_redo_log_capacity = 8589934592; |
|||
====uso memoria==== |
|||
innodb_buffer_pool_size |
|||
+ key_buffer_size |
|||
+ max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size) |
|||
+ max_connections*2MB |
|||
====comportamenti strani==== |
|||
se si configurano hugepages (ma forse anche se non), alcune operazioni fanno allocare memoria, che non viene rilasciata. |
|||
l'operazione "add constrain foreign key" su tabella grande produce questo effetto |
|||
forse usando libjemalloc2 il problema si risolve |
|||
[[Categoria:Database]] |
[[Categoria:Database]] |
Versione attuale delle 08:53, 12 mag 2025
innodb (8.0+)
Impostazioni per avere un database che usa solo InnoDB:
parametri di startup linea di comando (controllare sulla documentazione cosa fanno e come si usano):
--innodb-dedicated-server --memlock
Modificabili solo nel file di configurazione, serve poi riavvio istanza:
set persist_only disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE";
Con linux serve configurazione hugepages:
set persist_only large_pages=ON;
con 8.4 dovrebbe essere già default:
set persist_only innodb_flush_method=O_DIRECT;
set persist_only global_connection_memory_limit=536870912; set persist_only global-connection-memory-tracking=TRUE;
Modificabili a caldo:
set persist innodb_buffer_pool_size=536870912; set persist innodb_redo_log_capacity = 8589934592;
uso memoria
innodb_buffer_pool_size + key_buffer_size + max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size) + max_connections*2MB
comportamenti strani
se si configurano hugepages (ma forse anche se non), alcune operazioni fanno allocare memoria, che non viene rilasciata. l'operazione "add constrain foreign key" su tabella grande produce questo effetto
forse usando libjemalloc2 il problema si risolve