[ mar.kisha @ 07.12.2010. 10:22 ] @
Ovako, određena aplikacija upisuje u MySQL oko 200000 redova dnevno. Kakva su ograničenja MySQL-a po pitanju INSERTA, je se dešava da aplikacija pošalje u jednoj sekundi i po 300 INSERT-a? U poslednje vrijeme sam primjetio da nedostaje podataka u bazi...da li je moguće da MySQL iz nekog razloga (pretpostavaljam nedovoljno buffer-a) odbaci podatke?
[ bogdan.kecman @ 07.12.2010. 10:35 ] @
ogranicenja nemaju veze sa mysql-om vec sa tvojom masinom, dakle ako ti je disk suvise spor da upise sve te podatke mysql ce da se uspori. nece "odbaciti" podatke, samo ce usporiti dok sve ne upise pa ce tvoje konekcije cekati da dodju na red...

ako imas mnogo inserta, probaj da radis bulk insert, to je mnooooogo bolje (brze) posto trosi mnogo manje io-a

e sad, ako ti fale podaci, proveri da li proveravas da li ti se upit izvrsio ili ne ... dakle samo "mysql_query("insert....)" bez provere sta ti je mysql vrartio je lose programiranje, moras da proveris da li je

- konekcija uspesno uspostavljena (video sam milion puta "mysql_connect(); mysql_query()" bez ikakve provere ...
- zahtev mysql-u izvrsen kako treba (svaki zahtev .. mysql_select_db, mysql_execute, mysql_query ...)

i u odnosu na rezultat aplikacija treba da odluci sta dalje (da krene transakciju ispocetka, prijavi gresku...)
[ mar.kisha @ 08.12.2010. 10:16 ] @
Problem je što nemam pristup tim aplikacijama(više aplikacija odjednom upisuje, a ne jedna!), pa ne mogu da vidim da li je uključena provjera INSERT-a.
Mislio sam da može da se izgubi podatak negdje u buffer-u, dok čeka na upisivanje.
Hvala ti na odgovoru.
Kako da provjeravam opterećenje mysql-a? Nešto kao Load Average...
[ bogdan.kecman @ 08.12.2010. 13:25 ] @
Citat:
Mislio sam da može da se izgubi podatak negdje u buffer-u, dok čeka na upisivanje.


pazi, mysql mozda nije stabilan kao oracle db ali ipak nije toliko patetican da dozvoli takvu stvar

Citat:
Kako da provjeravam opterećenje mysql-a?


mysql> SHOW GLOBAL STATUS;
mysql> SHOW GLOBAL VARIABLES;