my.cnf optimieren

JanKrohn

Lieutenant
Registriert
Juli 2011
Beiträge
988
Moin,

Ich wuerde mich ueber Optimierungsideen von den MySQL/MariaDB-Experten hier freuen.

Kurze Zusammenfassung der Situation:
* Mittelgrosse Website mit taeglich derzeit ca. 15.000 Besuchern.
* Auf dem Server laeuft MariaDB 10.1.
* Tabellen im wesentlichen InnoDB, aber einige sehr stark frequentierte MyISAM Tabellen mit um die 500.000 Eintraegen.
* Server hat 8 GB RAM.

Hier ist meine derzeitige my.cnf

Code:
[mysqld]
performance-schema=0
max_allowed_packet=268435456
default-storage-engine = InnoDB


max_connections = 1000
max_user_connections = 1000
thread_cache_size = 1000


query_cache_type = 1
query_cache_size = 32M


sort_buffer_size = 2M
tmp_table_size = 32M


read_buffer_size = 128k
read_rnd_buffer_size = 256k
join_buffer_size = 128k

table_definition_cache = 1400
table_open_cache = 2000
table_open_cache_instances = 16


key_buffer_size = 2048M
myisam_recover_options = 'BACKUP,FORCE'


max_heap_table_size = 64M


innodb_strict_mode = ON
innodb_file_format_check = 1
innodb_buffer_pool_size = 4096M
innodb_buffer_pool_instances = 8
innodb_file_per_table=1


open_files_limit=10000
 
Ich nehme mal an, der Server, der die Datenbank fährt ist auch der Webserver?
Sollte nur die Datenbank auf dem Server sein, könnte man im Punkt 38 mehr Pool Size zuweisen (bis zu 80% vom RAM).
Punkt 39 ist zu groß. Jede Poolinstanz sollte 1 GB haben dürfen.
 
Danke! Der Webserver laeuft auf dem selben Server, braucht aber sicherlich keine 4 GB. Ich habe nun 6 GB Pool Size zugewiesen, und 6 Instanzen.

Laesst diese Konfiguration genug Resourcen fuer den MyISAM-Zugriff uebrig?
 
Zurück
Oben