cooles Forum. Ich habe schon viel probiert, was der Optimierung der MySQL betrifft.
Leider habe ich "noch" recht wenig, geschweige denn überhaupt, Ahnung von den Variablen in der my.cnf
Ich betriebe einen Dienst, der relativ viele Datenbankzugriffe innerhalb einer Sekunde hat.
Dabei werden mehrere Tabellen gefüllt/upgedated (insert into ... on dublicate key ...)
Zwei dieser Tabellen sind schon relativ groß / ca. 500MB Daten und die Indexdateien davon knapp 1GB.
Ich schätze, dass die Indexdateien schon zu groß sind und nicht mehr im Speicher gehalten werden, weshalb der Server andauernd auf die Festplatte rumhämmert.
Meine Load ist momentan immer so bei 0.5 bis 2 und die Wait bei 0 bis 70%.
Ich habe einen E6600 mit 4GB Ram. Und meine my.cnf Einstellungen sind wie folgt:
Code: Select all
key_buffer = 1500M
key_buffer_size = 2000M
max_allowed_packet = 2M
thread_stack = 256K
thread_cache_size = 32K
table_cache = 1M
sort_buffer_size = 2M
net_buffer_length = 32K
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 32M
max_connections = 10000
max_connect_errors = 999999999
connect_timeout = 10
thread_concurrency = 8
tmp_table_size = 512M
max_heap_table_size = 512M
thread_cache = 1k
query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 4M
low_priority_updates = 1
join_buffer_size = 2M
local-infile = 0
log_warnings = 0
long_query_time = 4
Viele Grüße
Maxx