Zurück   klamm-Forum > klamm-Lose > Lose4Scripts

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17.04.2007, 09:53:42   #1 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Ausrufezeichen An alle Progger und Bastler! zu viele Datenbankzugriffe?

kann mir jemand helfen?

Ich habe mir ein großen und aufwendiges Script schreiben lassen, leider erzeugt es wohl dauerhaft so viele Datenbankzugriffe, dass diese mittlerweile auf meinem eigenen Server "mysql error: Too many connections" zu diesen Felermeldungen führen.

Wer kann mir helfen, die Datenbankaufrufszeit zu veringern, da das Script von alleine die Datenbankverbindung wohl nicht beendet, sondern vom Server zwangsbeendet werden muss.

Postet bitt wenn Ihr mir helfen könnt oder per PN

MfG ljsatwork
 
ljsatwork ist offline   Mit Zitat antworten
Alt 17.04.2007, 10:19:52   #2 (permalink)
Erfahrener Benutzer
Benutzerbild von bastie

ID: 25115
Lose-Remote

bastie eine Nachricht über ICQ schicken bastie eine Nachricht über AIM schicken bastie eine Nachricht über MSN schicken bastie eine Nachricht über Yahoo! schicken bastie eine Nachricht über Skype™ schicken
Reg: 28.04.2006
Beiträge: 1.359
Standard

Hi,

mögliche gründe:

* zu viele queries auf einmal
* schlecht durchdachte abfragen (SELECT *)
* zu große tabellen (z.b. transaktionen) --> sql server braucht zu lange, um das zu bearbeiten
*schlecht durchdachte db struktur


lösungen:
* queries optimieren
* datenbank optimieren
* tabellen verkleinern
* cachen (z.b. aufwändige queries nur alle 10 minuten zulassen, wenn sie sonst ständig gebraucht werden - über serialize() in eine tmp datei schreiben)

mfg bastie
bastie ist offline   Mit Zitat antworten
Alt 17.04.2007, 10:36:54   #3 (permalink)
IS

Franco eine Nachricht über ICQ schicken
Reg: 03.03.2007
Beiträge: 619
Standard

Wenn interesse an einer Optimierung besteht würde ich mich bereiterklären es mal zu versuchen da du sagst es ist ein komplexes und großes script solltest du vieleicht erst mal mit dem progger drüber reden den es ist sein terrain und er müsste sich im script auskennen!

Wir anderen müssen uns ja erstmal einarbeiten!
 
Franco ist offline   Mit Zitat antworten
Alt 17.04.2007, 10:48:00   #4 (permalink)
zurück 08.02.

ID: 264092
Lose-Remote

Reg: 14.12.2006
Beiträge: 953
Standard

So wie du es beschreibst könnte es natürlich ach reichen wenn das Script die Datenbankverbindung einfach schließt wenn Sie es nicht mehr braucht. Ausserdem ist die Frage wie viele Datenbankverbindungen du überhaupt zulässt.
 
LukasP ist offline   Mit Zitat antworten
Alt 17.04.2007, 11:04:21   #5 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard

Hi Basti,

Vieln dank für deinen Tip :-)

MfG ljsatwork

Zitat:
Zitat von bastie Beitrag anzeigen
Hi,

mögliche gründe:

* zu viele queries auf einmal
* schlecht durchdachte abfragen (SELECT *)
* zu große tabellen (z.b. transaktionen) --> sql server braucht zu lange, um das zu bearbeiten
*schlecht durchdachte db struktur


lösungen:
* queries optimieren
* datenbank optimieren
* tabellen verkleinern
* cachen (z.b. aufwändige queries nur alle 10 minuten zulassen, wenn sie sonst ständig gebraucht werden - über serialize() in eine tmp datei schreiben)

mfg bastie
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 11:05:21   #6 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard

Wie kann mann denn dem Script den Befehl geben, dass es die Datenbank wieder schliesst, wenn es fertig ist?

mfg ljsatwork

Zitat:
Zitat von LukasP Beitrag anzeigen
So wie du es beschreibst könnte es natürlich ach reichen wenn das Script die Datenbankverbindung einfach schließt wenn Sie es nicht mehr braucht. Ausserdem ist die Frage wie viele Datenbankverbindungen du überhaupt zulässt.
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 11:53:01   #7 (permalink)
WeSoKo.de

ID: 216076
Lose-Remote

kangoo23 eine Nachricht über ICQ schicken
Reg: 23.04.2006
Beiträge: 2.495
Standard

z.b mit mysql_close($con);
ans ende einer abfrage,oder wenn das problem überall besteht in den footer

Geändert von kangoo23 (17.04.2007 um 11:57:09 Uhr)
kangoo23 ist offline   Mit Zitat antworten
Alt 17.04.2007, 12:00:20   #8 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard

Hi,

also gebe ich in den footer einfach
mysql_close($con);
ein und dann übernimmt der den Befehl in allen Dateien und schliesst die Datenbankanbindung sofort wieder nach dem er einen Eintrag getätigt hat, oder?

mfg ljsatwork

Zitat:
Zitat von kangoo23 Beitrag anzeigen
z.b mit mysql_close($con);
ans ende einer abfrage,oder wenn das problem überall besteht in den footer
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 12:03:34   #9 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard

ich habe mal im footer geschaut, da ist ganz ober dieser befehl:

<?
mysql_close($datenbank_connect);
?>

kann es daran liegen? kann mann diesen code gegen deinen genannten
mysql_close($con);
austauschen?

mfg ljsatwork

Zitat:
Zitat von kangoo23 Beitrag anzeigen
z.b mit mysql_close($con);
ans ende einer abfrage,oder wenn das problem überall besteht in den footer
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 12:05:27   #10 (permalink)
.:.:.:.:.:.:.:.:.

ID: 243529
Lose-Remote

Reg: 14.05.2006
Beiträge: 128
Standard

Zitat:
Zitat von kangoo23 Beitrag anzeigen
z.b mit mysql_close($con);
ans ende einer abfrage,oder wenn das problem überall besteht in den footer
PHP schließt Datenbankverbindungen automatisch wenn das Script beendet ist, also wenn es beim Footer angekommen ist, weshalb es wohl nichts bringen wird die Verbindung da nochmal manuell zu schließen:

Zitat:
Zitat von PHP.net
"Die Verbindung zum Datenbank-Server wird geschlossen, sobald die Ausführung des PHP-Skripts beendet ist oder vorher explizit die Funktion mysql_close() aufgerufen wird."

Zitat:
Zitat von ljsatwork Beitrag anzeigen
ich habe mal im footer geschaut, da ist ganz ober dieser befehl:

<?
mysql_close($datenbank_connect);
?>

kann es daran liegen? kann mann diesen code gegen deinen genannten
mysql_close($con);
austauschen?

mfg ljsatwork
Das ist doch genau das Selbe?!?

Geändert von Arrizer (17.04.2007 um 12:07:10 Uhr)
Arrizer ist offline   Mit Zitat antworten
Alt 17.04.2007, 12:05:54   #11 (permalink)
IS

Franco eine Nachricht über ICQ schicken
Reg: 03.03.2007
Beiträge: 619
Standard

Zitat:
Zitat von ljsatwork Beitrag anzeigen
ich habe mal im footer geschaut, da ist ganz ober dieser befehl:

<?
mysql_close($datenbank_connect);
?>

kann es daran liegen? kann mann diesen code gegen deinen genannten
mysql_close($con);
austauschen?

mfg ljsatwork
nein denke auch ohne erfahrung solltest du da nicht rumspielen
 
Franco ist offline   Mit Zitat antworten
Alt 17.04.2007, 12:09:52   #12 (permalink)
Erfahrener Benutzer

ID: 8521
Lose-Remote

Herbst eine Nachricht über ICQ schicken
Reg: 15.07.2006
Beiträge: 133
Standard

Grundsätzlich kann das Problem an deiner MYSQL Version liegen.
Bitte erkundige dich, welche Version auf deinem Server läuft.

Die 3.x Version hat Beschränkungen bei der Abfrage,
wo die Datenbank ab einer bestimmten Anzahl von Anfragen abschmiert
und deine Fehlermeldung ausgibt.
Herbst ist offline   Mit Zitat antworten
Alt 17.04.2007, 12:11:05   #13 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard

Habe es gerade mal mit dem befehl ausprobiert, leider kommt jetzt diese Fehlermeldung:

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /pages/e6/a1/d0005482/home/htdocs/html/countercash/footer.php on line 2

gibt es denn ein sript, womit mann die Datenbankzugriffe sehen kann, bzw. ausrechnen kann?
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 12:15:24   #14 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard @herbst

Hi,
ist die Version MySQL - 5.0.22

die ist die neuste, glaube ich jedenfalls :-)

trotzdem danke für die antwort :-)



Zitat:
Zitat von Herbst Beitrag anzeigen
Grundsätzlich kann das Problem an deiner MYSQL Version liegen.
Bitte erkundige dich, welche Version auf deinem Server läuft.

Die 3.x Version hat Beschränkungen bei der Abfrage,
wo die Datenbank ab einer bestimmten Anzahl von Anfragen abschmiert
und deine Fehlermeldung ausgibt.
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Alt 17.04.2007, 12:19:40   #15 (permalink)
Ding Dong!

ID: 141541
Lose-Remote

ljsatwork eine Nachricht über ICQ schicken
Reg: 04.05.2006
Beiträge: 156
Standard @franko

hab dir mal ne pn gesendet

mfg ljsatwork

Zitat:
Zitat von Franco Beitrag anzeigen
nein denke auch ohne erfahrung solltest du da nicht rumspielen
 
ljsatwork ist offline Threadstarter   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche PHP-Bastler :) MisterS Lose4Scripts 1 04.06.2007 12:40:36
Achtung an alle Progger und Script verkäufer! joker_t2005 Lose4Scripts (erledigt) 6 14.05.2007 12:49:43
[s] Progger der meine Links alle einbaut Criple2000 Lose4Scripts (erledigt) 2 01.11.2006 23:19:33
(S) viele viele Ress für losebot/ alle Detektoren LVL1 Tommyboy2008 Lose4Misc 15 15.07.2006 21:16:05


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02:30 Uhr.