MySQL: too many connection

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Z@chi 15. 7. 2008 16:55

Dobry den,
mam databazi, ke ktere se pripojuji.
Databaze a webovy server (apache) funguji na stejnem pocitaci.
Server zvladne bez problemu obslouzit cca 500 pozadavku za sekundu, ovsem problem mi vznika s too many connection.

Prvni reseni bylo zvednuti max_connection, toto nepomohlo.
Druhe reseni bylo poutiti pconnect spojeni - nepomohlo.

Nyni se pripojuji pomoci mysql_connect, a pri kazdem spojeni pro jistotu provedu mysql_close.

Pokud vsechny pozadavky prichazeni z jednoho pocitace, tak je databaze obslouzi vsechny bez problemu a zadny konflikt nevznika.
Konkretne: prez ajax jsem nacital neustale znova url adresu, na ktere server zpracovava informace a tak simuloval prichozi pozadavky. Toto funguje nekonecne dlouho uplne bez problemu. (pri kazdem pozadavku se znova pripojuje k mysql serveru).

V praxi: na server prijde cca 50 pozadavku za sekudnu, z ruznych pocitacu.

Server funguje asi minutu a potom vypíše too many connection, nebo úplně spadne webový server a pomuze az restart.

Neví někdo čím by to mohlo být?
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod K8 15. 7. 2008 17:52

zakázat persistentní spojení v php.ini
K8
Pokročilý

Odeslat příspěvekod Z@chi 15. 7. 2008 18:18

Dobry den, diky za radu.
Vyzkousel jsem, ale porad stejny vysledek. Zacinam byt vazne bezradny.
Bohuzel.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 15. 7. 2008 18:26

Aby jsem lepe vysvetlil problem.
Jedna se o sluzbu, nebo podobneho jako napriklad toplist, kdy v kodu stranky je umisten javascriptovy kod, ktery se vola.
Odkaz odkazuje na muj server, na ktery preda sve jedinecne ID, na jehoz zaklade je zpracovan a dostane vysledek, ktery zobrazi.

Zajimave je, ze vsechno fungovalo bez problemu i pri vetsim vytizeni nez je nyni a na stejnych serverech dokud byl kod pro generovani umisten nahore stranky v hlavicce.
Nyni jsem presel na reseni, kdy se samotny script nacita az v paticce stranky, aby nacitani nebrzdilo nacitani vysledne stranky.

--doufam ze jsem to napsal pochopitelne.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 15. 7. 2008 18:48

V soucasne dobe uz se ani nevypisuje hlaska Too Many Connectoins, ale webovy server uplne spadne.
Po restartu hned vsechno funguje cca tu minutu spravne, a zase spadne.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod K8 15. 7. 2008 19:37

ja jsem se s touto hlaskou setkal jen v pripade persistentnich spojeni, ktera zustavala otevrena, takze podivat se do logu php, mysql, apache co tam je za chyby, kdyz to spadne a overit si kolik spojeni vznika (odstavit tuto aplikaci a delat to "rucne" a koukat, jestli pribyva dalsi spojeni, nebo jestli se po skonceni skriptu ukonci i spojeni a nezustane otevrene)
K8
Pokročilý

Odeslat příspěvekod Z@chi 17. 7. 2008 11:44

Diky,
server vypisuje:
[error] server reached MaxClients setting, consider raising the MaxClients setting

MaxClients jsem nastavil na hodnotu 256, kdyz tam dam vic, tak na me server krici pri restartu, ze je jich tam moc, at upravim konfiguraci.
Nicmene, ani kdyz jich tam dam 1000 tak to nefunguje, a server po chvili chodu spadne.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod Z@chi 17. 7. 2008 12:48

Takze snad vyreseno.

Nakonec pomohlo tohle:
http://httpd.apache.org/docs/2.0/mod/mp ... erverlimit
byla potreba nastavit serverlimit.
Bohuzel jsem si to vubec neuvedomil, protoze tato direktiva nebyla v puvodnim konfiguraku v debianu vubec uvedena.
Z@chi
Junior
Uživatelský avatar



Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků