AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Wie kommt eine persistente MySQL-Verbindung zustande?
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Wie kommt eine persistente MySQL-Verbindung zustande?

Ein Thema von Matze · begonnen am 20. Jan 2009 · letzter Beitrag vom 22. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Wie kommt eine persistente MySQL-Verbindung zustande?

  Alt 20. Jan 2009, 17:39
Hi zusammen,

ich habe von meinem Hoster erfahren, dass eine Website von mir permanent bis zu 15 MySQL-Verbindungen offen hält. Nun würde ich gerne wissen, wie das zustanden kommen kann.

Ich verwende eine Datenbank-Klasse, die im Konstruktor die Datenbank-Verbindung aufbaut und im Destruktor wieder trennt.
Zuerst dachte ich, es könnte an AJAX liegen, doch die PHP-Dateien, die ich per AJAX anspreche, nutzen die gleiche Datenbank-Klasse.
Ich weiß nun gar nicht, wo ich den Fehler suchen soll.

Grüße, Matze

Edit: ich habe über ICQ erfahren, was mein Fehler sein könnte. Seltsamerweise stelle ich die DB-Verbindung über mysql_pconnect() her (fragt mich nicht wieso) und schließe sie mit mysql_close(). Ich nutze jetzt mysql_connect().
Kann das der Fehler gewesen sein?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 20. Jan 2009, 17:48
Hi,

ja, das wird der Fehler sein. mysql_close schließt nämlich keine von mysql_pconnect geöffneten Verbindungen. Entweder Du nutzt mysql_pclose zum Schließen der Verbindung oder baust die Verbindung mit mysql_connect auf.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 20. Jan 2009, 18:03
darf man fragen, um welchen hoster es sich handelt?! oO
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 20. Jan 2009, 18:15
Wieso so erstaunt?
Einer bei dem so manches all inclusive ist.

@Manu: Wenn das wirklich der Fehler war, dann bin ich ja beruhigt, danke.

Edit: mysql_pclose() finde ich auf php.net aber gar nicht.
Edit 2: Ah, da steht wirklich:
Zitat:
(mysql_close() schließt keine von mysql_pconnect() geöffneten Verbindungen).
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 20. Jan 2009, 19:17
Hi,

sorry, war da wohl etwas voreilig. mysql_pclose gibt es in der Tat nicht.

Hier steht kurz was über mysql_pconnect.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 20. Jan 2009, 19:27
Also der von mit zitierte Satz von php.net beruhigt mich sehr. Das klingt so, als muss das die Ursache für die offenen Verbindungen gewesen sein.
Dann kann ich heute wieder gut schlafen.

Also nochmals danke.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 21. Jan 2009, 17:07
die frage, die ich habe: warum interessiert das den hoster? was soll denn dadurch blockiert werden?! oO was wäre, wenn du das so haben willst!? schreiben die agbs das vor, dass man nur gewisse methoden nutzt, sonst schreitet der provider ein? oder war das eher eine hilfestellung von seiten des hosters? wovon ich aber nicht ausgehe, da wohl keiner geld für einen arbeiter ausgeben will, der sowas fleißig prüft.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 21. Jan 2009, 17:12
Zitat von s.h.a.r.k:
oO was wäre, wenn du das so haben willst!? schreiben die agbs das vor, dass man nur gewisse methoden nutzt, sonst schreitet der provider ein?
Bei inklusiv-Angeboten gilt eigentlich immer eine Fair-Use-Policy. Wenn du bei deinem 2,99€-Paket mit unbegrenzt Traffic in einem Monat 1TB Traffic erzeugen würdest (übetriebenes Beispiel ) fliegst du trotzdem hochkant raus.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#9

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 21. Jan 2009, 18:10
Das Problem ist doch ganz einfach: Eine Permanente Verbindung hält eine TCP-Verbindung zum Server. Je mehr es von diesen Verbindungen gibt, desto weniger sind noch verfügbar. Sofern ich mich nicht irre, gehen die verfügbaren TCP-Ports nur bis 65536, was heißt, dass es (weniger als) 65536 Verbindungen gleichzeitig geben kann.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: [PHP] Wie kommt eine permanente MySQL-Verbindung zustand

  Alt 21. Jan 2009, 18:13
Der Hoster hat das Limit der SQL-Anfragen auf 25 gesetzt. Ich vermute, die 25 Verbindungen sind die, die permanent offen sein dürfen.
Auf dem Server befinden sich insgesamt 50 Kunden. Wenn ich da alleine 15 Verbindungen beanspruche ist klar, dass dies nicht sonderlich gut ist.

Der Hoster hat mir das übrigens nur deshalb geschrieben, weil ich ihn fragte, ob etwas mit der Datenbank nicht in Ordnung sei, oder ob es an meiner Seite liegen könnte, dass die Verbindung immer mal für wenige Sekunden abbricht.

Grüße, Matze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz