Tuning Mysql: differenze tra le versioni
Jump to navigation
Jump to search
Nessun oggetto della modifica |
|||
(7 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 |
|||
⚫ | |||
set persist_only disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE"; |
set persist_only disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE"; |
||
Riga 12: | Riga 16: | ||
set persist_only innodb_flush_method=O_DIRECT; |
set persist_only innodb_flush_method=O_DIRECT; |
||
set persist_only global_connection_memory_limit=536870912; |
|||
⚫ | |||
set persist_only global-connection-memory-tracking=TRUE; |
|||
⚫ | |||
set persist innodb_buffer_pool_size=536870912; |
set persist innodb_buffer_pool_size=536870912; |
||
set persist innodb_redo_log_capacity = 8589934592; |
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