On Tue, 23 Sep 2008, Ivascu Stefan wrote:

Am un scipt care tre sa verifice vreo 2500 de linii, si prin urmare trebuie sa ridice 2500 de sesiuni, din pacate la un moment dat da urmatoarea eroare "Warning: mysql_pconnect(): Too many connections in /path/to/file on line 5" Am gasit pe net ca ar exista o variabila ce trebuie pusa in my.cnf (max_connections), dar din pacate nu a avut nici un efect. Eu am adaugat in my.cnf:

Scriptul tau e scris de un indian sau tu esti indian si asta e numele tau romanesc? Daca ai de deschis 2500 de conexiuni simultane dintr-o singura instanta a unei aplicatii atunci sint vreo 3 posibilitati:
        1. scriptul e scris invers (indian style);
        2. ai nimerit cu un secol mai devreme;
        3. visezi urit, trebuie sa te trezesti.

[mysql]
# uncomment the next directive if you are not familiar with SQL
#safe-updates
max_connections                         = 3000
Ma poate ajuta cineva ?

Totusi, inainte de toate contacteaza un sysadmin cu ceva cunostinte de DBA, sau invers. In mod evident inainte de a scrie o asemenea ineptie de setare (cum bine a observat cineva e scrisa in secriunea gresita oricum) trebuie sa ridici numarul maxim de file descriptori probabil pe la vreo 6-7-8k. Fiecare "conexiune" se traduce prin cel putin inca un file descriptor deschis (sau socket, cum vrei sa-i spui, ca in cazul de fata sint de fapt tcpip sockets). Inainte si de asta de fapt ar trebui coctactat un dintr-asta care scrie php (putini scriu php si sint programatori in acelasi timp, deci un meserias dintr-asta cu "php&mysql") care sa rescrie eventuala cel script sau sa seteze vreun flag ceva pentru ca engine-ul php sa reutilizeze conexiunile deja deschise (de obicei dai in probleme ca ale tale cind in php.ini ai lasat totul la liber, fara nici o limita).

        Undeva intr-un mail mai recent scrii o ineptie de genul:

Intr-o tabela sql am X locatii (in cazul de fata aproximativ 2500). trebuie sa iau fiecare locatie in parte sa ii dau ping, si apoi sa trec in tabela online / offline.

De ce nu iei totul dintr-un singur query intr-un array sau un ceva ce sint sigur ca are si php-ul?

--
Let's cut tha crap, ok? Ce spun eu aicea ma reprezinta doar pe mine, si-mi
rezerv dreptul sa ning asupra oricarei companii pe care credeti voi c-as
sprijini-o eu in vreun fel, da?

_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui