> poslednej dobe sa mi casto objavuje hlaska MySQL "Too many connections". Mal > som tam 512 MB, tak som kupil nove pamate (2 GB) v domneni, ze to pomoze. Na > serveri bezi "vsetko" (MySQL, Apache, DNS, PHP, Postfix...). > Chcem sa opytat, ci staci len zvysit "max_connections" a ak ano tak ake > hodnoty pouzivate.
^-- S MySQL som nikdy nepracoval, ale pracoval som s inymi databazami, takze skusim. Kazda databaza ma konfigurovatelny limit, kolko pripojeni sucasne maximalne obsluzi. Tento limit by mal byt nastaveny o malo vyssi, ako je skutocna potreba maximalneho poctu pripojeni. Mal by byt o trochu vyssi, aby nedochadzalo k odmietaniu spojeni (ona vyssie zmienena hlaska too many connections), ale na druhej strane by nemal byt zbytocne vysoky, pretoze databaza potom alokuje niektore zdroje 'per connection' a cim s vyssim poctom pripojeni musi pocitat, tym mensie zdroje prideli jednemu pripojeniu. V Tvojom pripade bol pravdepodobne parameter max_connecitons nastaveny presne podla vyssie uvedenych pravidiel, t.j. tesne nad maximalnym pozadovanym poctom pripojeni. Casom ale vzrastli naroky na pocet pripojeni, a teda zacal byt nastaveny limit obmedzujucim. Patrne spravnym riesenim bude zvysit limit max_connections na vyssiu hodnotu, aby ku chybe prestalo dochadzat, ale urcite by bolo spravne vediet, preco sa "zrazu" zvysil pocet potrebnych pripojeni. Dovodov moze byt niekolko: 1) Zvysila sa zataz aplikacie. Aplikacia skutocne musi obsluhovat vacsie mnozstvo requestov a teda castejsie chodi do databazy, na co potrebuje vacsie mnozstvo pripojeni. 2) Obsluha databazovych requestov trva dlhsie. Hoci sa pocet requestov nezvysil, zvysil sa cas ich obsluhy a teda konekcie sa nestacia uvolnovat dostatocne rychlo. Dovodov moze byt vela: 2.1) V databaze casom pribudli udaje a databazove operacie trvaju proste dlhsie. 2.2) V systeme pribudla nova zataz, ktora cerpa zdroje (dalsia aplikacia, cron job). 2.3) Zmenili sa indexy v databaze, mozno odbudli (trvaju dlhsie selecty), mozno pribudli (teoreticky trvaju dlhsie inserty a updaty). 3) Spojenia sa neuzatvaraju vobec. Moze byt sposobene zmenou/chybou v aplikacii pouzivajucej databazu. Prikupenim pamate si urcite nic nepokazil. Aky je spravne nastavenie max_connections sa neda povedat dobrej znalosti uplne konkretneho nasadenia. Poznam databazy, kde 1000 pripojeni sucastne je v poriadku ako aj databazy, kde 10 pripojeni sucastne by bol nezvladnutelny stav. Tento dotaz je sa ale patrne FreeBSD vobec netyka. J. -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l