Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][AJAX] zbyt duża liczba połączeń z bazą
elmozaur
post
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Witam.
Chcialbym poprosic o porade w sprawie wtorzenia zapytan asynchronicznych.
Napisalem prosty programik ktory obrabia dane znajdujące sie w bazie MySQL.
Programik całą swoją funkcjonalność opiera o AJAX - czyli kazde pobieranie, sortowanie, zmiany, tworzenie itp wszystko działa na AJAXie.
Wszystko niby fajnie tylko po kilku dniach używania przez kilka osób okazało się że czesto pojawia sie problem "MySQL - Too many connections".

Teraz mam zrobione tak, że w kazdym osobnym pliku nazwa_zadania.php (sort.php, load.php, generate.php itd) wczytuje konfig, zestawiam polaczenie z bazą a nastepnie tworze i wysylam zapytanie. Domyślam się (pomijając wydolność bazy), że zestawianie za każdym nowego połączenia nie jest najlepszym rozwiązaniem.

Pytanie:
skoro w samym programie zestawiam połączenie z bazą może to połączenie jakoś przekazywac do każdego zapytania AJAXowego ?
Albo może uchwyt połączenia zrobić jakoś globalnie aby każdy ze skryptów mógł go użyć ?

za wszelką sugestię z góry dziękuje
pozdrawiam
Grzegorz

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




google: mysql persistent connections
Ale czy to jest dobre wyjscie z twojego problemu.... nie jestem pewien.
Wydaje mi sie ze masz jakis bug w kodzie, ze dostajesz takie bledy. Teoretycznie uzycie AJAX zamiast normalnego przeladowania strony, nie powinno miec zadnego wplwyu na baze. Chyba, ze cos namotales z tym ajaxem i w ramach jednej operacji wysylasz po "sto" takich ajaxow. Przyjrzyj sie, czy wlasnie tutaj nie lezy problem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
elmozaur
post
Post #3





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


niestety w ajaxach jest ok. Poprostu spora ich ilość * ilość osób testujących spowodowała taki problem. Rozwiązanie "mysql persistent connections" - jest bardzo ciekawe (nie søyszaøem o nim). Zastanawiam się jeszcze czy da się zrobić w PHP coś takiego:
  1. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  2. //albo PDO
  3.  
  4. // i zrobić tak
  5. global $link;
  6. //lub
  7. $_SESSION['link'] = $link;

czy to bardzo duży błąd/ luka w bezpieczeństwie ?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sprawdz, a sie przekonasz ze to nie zadziala wink.gif

Cytat
niestety w ajaxach jest ok. Poprostu spora ich ilość * ilość osób testujących spowodowała taki problem.
Jesli tak, to rowniez bez ajaxa bys mial ten sam problem, w co nie chce mi sie wierzyc, szczegolnie, ze napisales ze to tylko kilka osob.
Ciagle wydaje mi sie, ze to wina zlych ajaxow, no ale nie widze tego, wiec moze faktycznie jest jak mowisz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
elmozaur
post
Post #5





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


dziekuje za pomoc i zainteresowanie
Grzegorz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:04