Tuning Mysql: differenze tra le versioni

Da Emigar.
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