[ misk0 @ 08.09.2010. 09:57 ] @
Pokusacu opisati sta se desava. Naime, instalirao sam XAMPP jer mi treba apache i mySQL. Za server side lang koristim jetty i JAVA.
Baza jeste 'veca' - sve ukupno nekih 2.6GB, ima 20ak DB-a i 2 imaju preko 200 tabela. Koristim je samo ja, za razvoj aplikacije, znaci pristupam iskljucivo iz lokala i to je to. Prvih pola sta koristenja odaziv je i dobar, onda pocne da usporava i uspoarava.. Desavalo mi se da kad je tako spora, kad se nakacim na DB i uradim 'show tables' da mu treba i po 20sec da mi odgovori???
Restartujem, pa onda malo bolje, ali mi se svejedno cini sporom. Osim toga, u process usage monitoru (ili kako se vec zove win app) vidim da stalno cita i pishe po disku, cak i kad nista nije nakaceno na DB. Ne prekida.. ?

Ima li pomoci?
MySQL verzija je 5.1.41.
Ovo je dio conf fajla (ja sam vec mjenjao vrijednosti)
Code:

[mysqld]
basedir                 = "C:/xampp/mysql/"
datadir                 = "C:/xampp/mysql/data/"
port                    = 3306
socket                    = "MySQL"
skip-locking
key_buffer              = 256M
max_allowed_packet      = 16M
table_cache             = 256
sort_buffer_size        = 512K
net_buffer_length       = 8K
read_buffer_size        = 256K
read_rnd_buffer_size    = 512K
myisam_sort_buffer_size = 8M
query_cache_size = 52428800
default-time-zone       = "Europe/Paris"
log_error           = "C:/xampp/mysql/data/mysql.err"
pid_file            = "mysql.pid"
general_log         = 0
general_log_file    = "C:/xampp/mysql/data/mysql.log"
slow_query_log      = 1
slow_query_log_file = "C:/xampp/mysql/data/mysql-slow.log"
enable-named-pipe
skip-federated
#log-bin = mysql-bin
#binlog_format = mixed
server-id = 1

# Point the following paths to different dedicated disks
tmpdir             = "C:/xampp/tmp/"
#log-update      = "C:/xampp/tmp/mysql"
innodb_data_home_dir            = "C:/xampp/mysql/data/"
innodb_data_file_path           = ibdata1:10M:autoextend
innodb_log_group_home_dir       = "C:/xampp/mysql/data/"
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size         = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size            = 5M
innodb_log_buffer_size          = 8M
innodb_flush_log_at_trx_commit  = 1
innodb_lock_wait_timeout        = 50
[ bogdan.kecman @ 08.09.2010. 11:10 ] @
ukratko, probaj sa 5.5 da li ce da pravi iste probleme (5.5 ima mnooooooooooogo windoze optimizacija)

nadugacko
- koji tip tabela (myisam ili innodb)
- koliko ukupno tabela (2x200+?)
- koliko tabela otvoreno u isto vreme (kakvi su join-i, daj show global variables i show global status)
- sta kaze show processlist kada se uspori
- sa koliko se konekcija kacis
- da li zatvaras konekcije explicitno

Citat:

kad se nakacim na DB i uradim 'show tables' da mu treba i po 20sec da mi odgovori???


ovo najcesce znaci da je io smorio sistem i da ovaj ne moze da odgovori
[ misk0 @ 08.09.2010. 11:24 ] @
Citat:

ukratko, probaj sa 5.5 da li ce da pravi iste probleme (5.5 ima mnooooooooooogo windoze optimizacija)

Dovoljno je da skinem ZIP i zamjenim sve osim DATA dir?

- koji tip tabela (myisam ili innodb)
uglavnom innoDB (trebale bi sve, ali je mozda ponekad ostala myisam)

- koliko ukupno tabela (2x200+?)
ukupno oko 650 tabela

- koliko tabela otvoreno u isto vreme (kakvi su join-i, daj show global variables i show global status)
Ne znam..

- sta kaze show processlist kada se uspori
zakacio sam fajlove

- sa koliko se konekcija kacis
mislim da je pool, ne znam koliko tacno

- da li zatvaras konekcije explicitno
uhm.. tesko pitanje. Ako je pool onda ih vjerovatno ne zatvara
[ bogdan.kecman @ 08.09.2010. 12:17 ] @
Citat:
misk0: Dovoljno je da skinem ZIP i zamjenim sve osim DATA dir?


nisam se mnogo igrao sa xampom ali bi trebalo da sljaka tako

Citat:
uglavnom innoDB (trebale bi sve, ali je mozda ponekad ostala myisam)

mnogo ti je mali innodb_bufffer_pool, koliko ima rama ta masina?


Citat:

- sa koliko se konekcija kacis
mislim da je pool, ne znam koliko tacno

- da li zatvaras konekcije explicitno
uhm.. tesko pitanje. Ako je pool onda ih vjerovatno ne zatvara


to isto moze da bude problem... mada mislim da nije vezan za ovo

[ bogdan.kecman @ 08.09.2010. 12:20 ] @
zaboravih ... za 650 tabela mnogo brzo stignes na limit od 1024 posix handlova koliko je limitiran windows .. 5.5 koristi tu nativni windoze api tako da je taj limit sklonjen ... zbog toga upgrade na 5.5 resava problem za windoze kada je mnogo tabela u pitanju ...

ono sto mozes je - uradi "flush tables" i proveri da li posle toga krene da radi brze (flush tables moze da potraje) - ako ti to resi problem brzine znaci da je jedino resenje skakanje na 5.5
[ tarla @ 08.09.2010. 15:53 ] @
A opet kud baš na Vistu... Najcrnje janje od čitavog stada....
[ misk0 @ 09.09.2010. 10:44 ] @
Citat:
nisam se mnogo igrao sa xampom ali bi trebalo da sljaka tako

sljaka... mada nisam 100% siguran, ne dozvoljava mi da radim mysqldump zbog :

Code:
mysqldump: Got error: 1449: The user specified as a definer ('exmachina'@'10.21.0.90') does not exist when using LOCK TABLES


mada mi to i nije toliko vazno. Vec sam imao gresaka zbog importa i ovog LOCK TABLES, ne znam zasto

Citat:
mnogo ti je mali innodb_bufffer_pool, koliko ima rama ta masina?

Ovo je RIJESILO stvar. Povecao na 256M i sad radi primjetno brze. Masina ima 3GB, ali mislim da imam problema sa diskom i njegovim sporim odzivom. To cu jos morati vidjeti gdje i kako.

Citat:
ono sto mozes je - uradi "flush tables


uradio, trajalo 10-20min, ali nije pomoglo.

Citat:
A opet kud baš na Vistu... Najcrnje janje od čitavog stada....

Dodjes u firmu, dobijes 17" laptop i Vistu i Ubuntu. Buduci da moram koristiti IE za ispitivanje kompatibilnosti stranica, ubuntu i nije bilo bas rjesenje.

'fala, sad mogu da 'radim'..
[ bogdan.kecman @ 09.09.2010. 12:48 ] @
za ovaj problem sa procedurom - mysql_upgrade script bi trebalo da ti upgradeuje tabele sa 5.1 na 5.5

innodb_bufffer_pool baferuje rad sa diskom, sto mu vise das to ce bolje raditi ... za dedicated db server ovo je 70-80% ukupnog rama ... daj mu slobodno 1.5-2G, to je neki laptop, na laptopu je IO za red velicine manji nego na losem desktopu tako da ..

ako flush disks nije "ubrzao rad" (normalno je da ti traje 20min kada se tako zabode masina) znaci da nije problem u broju otvorenih fajlova/konekcija vec samo u sporom disku sto jedino mozes da resis kesiranjem (innodb_buffer_pool)

sto se tice testiranja stranica, virtual box + w2k/xp/nt4/linux i jos neke egzotike, ie6, ie7, ie8, firfox 2.x, 3.0, 3.x .. etc etc ... svuda gde sam radio gde se radio veb drzalo se nekoliko virtualnih masina na kojima se testiralo .. i uvek se testiralo na "blanko" browserima (Bez custom plaginova) i na nabudzenim browserima (sa popularnim plaginima).... za development je koristio kako je ko koji os hteo, neko linux neko windows, ali testiranje uvek iz vboxa
[ misk0 @ 09.09.2010. 13:08 ] @
Citat:
bogdan.kecman: za ovaj problem sa procedurom - mysql_upgrade script bi trebalo da ti upgradeuje tabele sa 5.1 na 5.5


Probacu

Citat:

innodb_bufffer_pool baferuje rad sa diskom, sto mu vise das to ce bolje raditi ... za dedicated db server ovo je 70-80% ukupnog rama ... daj mu slobodno 1.5-2G, to je neki laptop, na laptopu je IO za red velicine manji nego na losem desktopu tako da ..

Podicicu na 1GB, nemam bas toliko slobodno. Sad kad sve pokrenem, sa 256MB ima oko 2.2GB memorije zauzeto.


Citat:
sto se tice testiranja stranica, virtual box + w2k/xp/nt4/linux i jos neke egzotike, ie6, ie7, ie8, firfox 2.x, 3.0, 3.x .. etc etc ... svuda gde sam radio gde se radio veb drzalo se nekoliko virtualnih masina na kojima se testiralo .. i uvek se testiralo na "blanko" browserima (Bez custom plaginova) i na nabudzenim browserima (sa popularnim plaginima).... za development je koristio kako je ko koji os hteo, neko linux neko windows, ali testiranje uvek iz vboxa


U sustini VM dizem jedino za IE6, IE7 i IE8 mogu oba da pokrenem iz IE8, Safari, FF i Chrome imam. Da bih uspio sve pokrenuti treba mi 2JVM, 1 IDE (koji je Java based), 1 Apache i 1 mySQL. Sve to kad pokrenem, pojede mi preko 2GB rama i uspori masinu. Dok nisam MySQL sredio, znao sam cekati i po 60sec da mi refresuje stranicu. Sad treba 2-3 sec maximoalno.
[ misk0 @ 09.09.2010. 13:12 ] @
Ja sam zapravo skinuo 5.1.50 a ne 5.5 ..... nista, idemo ponovo :)

btw, sa ovom verzijom 5.1.50 i sa mysql_upgrade koji je zavrsio bez problema, opet ne mogu uraditi dump. Dobijam istu poruku o gresci.. otkud to?
[ bogdan.kecman @ 09.09.2010. 13:39 ] @
5.5 radi na windozi dosta bolje od 5.1 (promene na sistemskom nivou) tako da vredi probati

za vm - finalno testiranje ja uvek forsiram da bude na "blanko vm-u" + "nabudzenom sistemu" ... no to vec zavisi od QA managera

za inodb bafer - sto vise to bolje, naravno ne valjda da swapujes tako da nadji neku sredinu ..

za proceduru .. da li imas definisanog usera 'exmachina'@'10.21.0.90' ? (select * from mysql.user where User='exmachina' and Host = '10.21.0.90')

[ misk0 @ 09.09.2010. 14:50 ] @
Citat:
za proceduru .. da li imas definisanog usera 'exmachina'@'10.21.0.90' ? (select * from mysql.user where User='exmachina' and Host = '10.21.0.90')


jock..
[ bogdan.kecman @ 09.09.2010. 15:02 ] @
pa naparvi ga :D

zato te i zeza :D

posto je test .. najlakse ..

grant all privileges on *.* to 'exmachina'@'10.21.0.90';

i zavrsisi posao :)
[ misk0 @ 10.09.2010. 08:57 ] @
nelogicno je bilo ali dodao sam opciju 'skip-locking-tables' ili tako nesto i uspio sam uraditi dump. Buduci da je baza lokalno, niko je ne koristi osim mene, export nije patio od nekonzistentnosti.