[ vatri @ 10.06.2010. 14:19 ] @
Imamo INNODB tabelu sa cca 30 000 rekorda. Do juce je sve u redu radilo ( PHP aplikacija ) a danas odjednom poceli zezat. Prije je skripta izvrsena u roku od sekundu - dve, a sad traje oko 50s.

Sta bi mogao biti problem? Jel imao neko iskustva sa ovom greskom?

Hvala unapred

P.S. u attachment-u su podaci o tabeli
[ Miroslav Strugarevic @ 10.06.2010. 18:21 ] @
Pokusaj da povecas innodb_lock_wait_timeout (kod tebe je verovatno default 50) na neku vecu vrednost tipa 100.

Code:
mysql> show variables like 'innodb_lock_wait_timeout';


U my.cnf dodaj innodb_lock_wait_timeout = 100 i restartuj mysql.
[ tarla @ 10.06.2010. 19:36 ] @
Kakav se upit izvršava kada se baza zakuje ?

Nisam siguran da će povećanje lock_wait_timeout-a riješiti problem jer nema poente da se vrti upit 50 sekundi...
[ vatri @ 10.06.2010. 19:48 ] @
Problem je rjesen tako sto je restartovan mysql.
U pitanju je inace bilo INSERT upit...

Zbog cega se ovo moglo dogotit? Kakav cache ili sta?
[ bogdan.kecman @ 10.06.2010. 20:18 ] @
imao si deadlock, deadlock detekcija se pravi preko timeout-a .. time sto si resetovao mysql ubio si sve upite tako da nemas pojma sada zasto ti se to desilo. povecanjem lock_wait_timeout ces samo sledeci put kada se desi dobiti gresku posle duzeg vremena, nista drugo ..

sledeci put kada ti se to desi kresni innodb monitor

http://dev.mysql.com/doc/refman/5.5/en/innodb-monitors.html

on ce ti pokazati koji upiti su lokovali koje slogove i koji upiti cekaju na koji lock tako mozes videti koja dva upita su u deadlock-u i resiti problem tako da se vise ne ponovi
[ vatri @ 10.06.2010. 21:44 ] @
Hvala na pomoci.

Sledeci put ako se desi vidjecemo sta kaze monitor. U kod sam inace dodao free_result() pa se nadam da se nece opet ponovit greska... Ali vidjecemo.
[ bogdan.kecman @ 10.06.2010. 21:58 ] @
explicitni free_results() je potreban ali na zalos nevezan za ovu gresku
[ vatri @ 11.06.2010. 13:51 ] @
sto znaci da ce mi se vjerovatno opet javit greska :) I to bi trebalo biti za oko mjesec dana jer je toliko proslo otkako je server instaliran ( mada pretpostavljam da to opet zavisi od broja query-ja ka bazi/tabeli) ...

Cek, onda jel problem u neoptimizovanim query-jima ili je nesto na serveru u pitanju?
[ tarla @ 12.06.2010. 08:53 ] @
ukljuci logovanje sporih upita, ukljuci logovanje upita koji ne koriste index-e

Sacekaj dan-dva da vidis kako se ponasa server. Otvori log i nadji problematicne upite.