[ bananko @ 27.08.2008. 23:28 ] @
Kada gledam u TOP, mysqld memorija konstanto raste i mislim da je to razlog zakaj mi server krepava jednom dnevno. Jel moze komanda da ga stavim u cron /etc/init.d/mysqld restart ili da ga podesim da mi ne raste toliko?
[ maksvel @ 28.08.2008. 07:36 ] @
Nije ti neko rešenje da restartuješ server svaki čas.. Pogledaj savete za optimizaciju: http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html
Ako teraš Joomle-u ili neki CMS, pogledaj ima li nešto specifično za taj CMs: možda neko curenje memorije ili slično, pa eventualno da zakrpiš softver. Možeš malo i progooglati za alate za merenje performansi i onda utvrditi kada se dešava problem itd.
[ Tyler Durden @ 28.08.2008. 07:55 ] @
Kao što ti je rekao maksvel, nešto tu nije dobro podešeno i restartovanje servera svako malo je najblaže rečeno pogrešno.
Jel možeš malo bolje i detaljnije da opišeš problem?
[ bananko @ 28.08.2008. 10:44 ] @
Gore se vrti vBulletin i torrent tracker, kada je rush hour average server load je oko 1.1 (znaci da server moze izdrzat opterecenje) nakon desetak sati load bolesno naraste cak i do 100. Gledajuci top, svaki proces koristi maximalno 2% memorije jedino mysqld raste trenutno je na 10.1%, a prije 10 sati kad sam ga restarto je bio na 4%. Jel imate neki savijet da pogledam sta ga tocno jede, moje znanje mi nista drugo ne dopusta osim da restartujem sql

EDIT: primjetio sam da svaki proces ima TIME+ 0:XX.XX, a mysqld je na 34:16.69 ne znam sta to znaci ali valjda vi znate :D

my.cnf izgleda ovako (znam da je tu frend diro ove varijable pa bi mozda to bio problem??)
Code:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

set-variable = max_allowed_packet=32M
set-variable = max_connections=4000
set-variable = key_buffer_size=64M
set-variable = read_buffer_size=2M
set-variable = join_buffer_size=2M
set-variable = query_cache_size=32M
set-variable = tmp_table_size=32M
set-variable = table_cache=2000

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



[Ovu poruku je menjao bananko dana 28.08.2008. u 12:14 GMT+1]
[ maksvel @ 28.08.2008. 11:15 ] @
Taj TIME nije čudan, s obzirom da je mysql konstantno aktivan... Više informacija možeš dobiti preko nekog ovih alata
edit: Koji procesor, koliko memorije??
[ bananko @ 28.08.2008. 11:25 ] @
2.8GHz Intel Pentium D 915
1024MB DDR-2

EDIT: upravo je mysqld memorija porasla na 12% i kreirao se neki zombie proces od kada je zombie proces aktivan server load se odjednom povecavo, nakon sta sam restarto sql zombija vise nema i load se vratio u normalu... dakle definitvno je problem u sqlu
[ bananko @ 28.08.2008. 16:12 ] @
Objasnio sam supportu problem, a ovi mi odgovorili
Citat:
We monitored the server and the mysql memory usage seems to be caused by genuine traffic to the server. Please consider increasing RAM to improve database performance.


Ne kuzim kako moze sve radit kao urica i onda se odjednom zblokira i sad je kao ram kriv? Jel se moze ikako napraviti da kada je load veci od 5 da se automatski restarta mysqld?
[ maksvel @ 28.08.2008. 18:19 ] @
Hm, opet kažem: nije dobro da restartuješ server... Smanji malo vrednosti iz my.cnf: key buffer i max connections - mislim da po defaultu nisu tolike, a server ti nema baš puno memorije.
[ Tyler Durden @ 29.08.2008. 08:09 ] @
Ako je kao što ti je njihov support rekao, dakle, zaista imaš toliki saobraćaj, jedino pravo riješenje ti je upgrade hardvera. Ja sam imao sličnu situaciju, čak i sličan hardver, i jedan modul od 1GB RAM-a je preporodio server.

Koliko imaš upita na bazu po sekundi i koliko imaš procesa/upita po sekundi u tim trenutcima kada imaš problema?
[ bananko @ 29.08.2008. 11:14 ] @
Otprilike imam Tasks: 136 total, 4 running, 132 sleeping, 0 stopped, 0 zombie