Mysql lekérdezés belassul, beáll
Adva van egy suse 10.3 64bit, core2quad, 4GB ram, mysql 5.0.45.
A következő a probléma: a mysqlen másodpercenként kb 135-500 lekérdezés/sec fut. a max terhelésen kb 500. időközönként előfordul, hogy egy egy lekérdezés beáll a mysqlbe, vagy nagyon lassan fut le, ez 10-15 sec, vagy meg se várom, hogy lefusson, mert mögötte beáll a többi. van hogy 300-400 sec-ig fut, ekkor már kilövöm. ilyen kveri áll be hogy: update table set mezo=mezo+1 where id='valami', egy 100.000 soros táblán, vagy 45.000 soron egy egyszerű select. ugyanakkor olyan lekérdezések is beállnak, amik máskor szempillantás alatt lefutnak. a beállt lekérdezések státusza: sending data, copying to tmp table, update, removing tmp, szóval a létező összes állapotba beáll. a load ez egekbe ugrik, volt 400-as is, alapbol 3-5. van hogy a mysql 4 napig "hibátlanul" fut, majd naponta két ilyen beállás is bejön. nem reprodukálható, különböző kverik állnak be, még azt se lehet mondani, hogy egy kveri a hibás. myisam táblák.
itt a my.cnf:
max_connections = 300
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 1024
sort_buffer_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
max_heap_table_size = 64M
tmp_table_size = 96M
query_cache_type = 1
query_cache_size = 32M
thread_concurrency = 8
join_buffer_size = 32M
de már mindenféle variációt kipróbáltam.
viszonylag sok a tmp table is, azt akarom, hogy csinálok egy 100-200mbos ramdriveot, és oda rakom a tmpdir-t. de most hiába van megadba a my.cnfbe a /var/mysql tempnek, a mysql a #sql_aaaa_1.MYD MYI fájlokat továbbra is a /var/lib/mysql-be szorja, ez a datadir egyébként. van erre valami oka, vagy mi?
valaki esetleg találkozott már ilyennel? mit kéne állítani, vagy mi a rossz?
köszönöm a segítséget.
- Tovább (Mysql lekérdezés belassul, beáll)
- 2528 megtekintés