Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
seb81
Mitglied
Beiträge: 104
Registriert: 04.02.2011 09:39

Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von seb81 »

Hallo!

Mal eine einfache MySQL-Verständnisfrage:

Ich habe vor einiger Zeit schon einmal versucht herauszufinden, bei welchem Webhoster ich mit meinem phpBB-Board am besten aufgehoben bin. In dem Fall beziehe ich mich auf Webhosting und die Leistung der MySQL-Datenbank. Leider finde ich im Netz nirgendwo die passende Antwort darauf, was die einzelnen "max-connection"-Werte nun in Verbindung mit einem phpBB-Board bedeuten. Ich habe nun als Beispiel folgende Angaben:

DB bei Anbieter 1.
max_connections = 500
max_user_connections = 30

DB be Anbieter 2.
max_connections = 3000
max_user_connections = 20

Da wäre nun die Kernfrage: Was davon hält nun einem größeren Useraufkommen stand? Bzw. was ich mich frage: Die max_user_connections (in dem Fall 20 oder 30) beziehen sich doch auf den DB-User. Ein phpBB-Board ist doch ein DB-User? Oder ist jeder User, jeder Gast, jeder Bot ein eigener "Benutzer"? (Dann wären die 500 und 3000 ausschlaggebend).

Wäre schön, wenn mir da mal jemand auf die Sprünge helfen könnte. Ich habe mich damit vor ein paar Monaten schon einmal befasst, dann verzweifelt aufgegeben. Jetzt bin ich per Zufall über ein Angebot gestolpert und stehe wieder vor denselben Fragen... :oops:
forenmichl
Mitglied
Beiträge: 18
Registriert: 04.12.2024 09:38

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von forenmichl »

max_connections


Wert von 1 bis 100.000 ist möglich und bezieht sich einerseits auf den Server (wie ist er hardwaremässig ausgestattet [zu hoche Werte z.B. über 10.000 führen zu Performanceproblemen]) andererseits aber auch auf die maximal mögliche Anzahl der gleichzeitigen DB-Abfragen.

Beispiel: in diesem Forum rufen 10 Personen gleichzeitig dieses Forum auf, somit habe ich 10 Verbindungen (jede Abfrage öffnet eine neue, eigene Verbindung).

Da dieser Parameter aber sehr kurlebig ist (wird sobald Daten geliefert sind) wieder geschlossen, ist es bei Werten bis 10.000 eigentlich relativ egal was man betreibt (Webseite).

HInweis: es gibt immer den Wert max_connection PLUS 1 (für den DB-Superuser).
max_user_connections
Werte von 1 bis * sind möglich, normalerweise ist 151 der Standardwert.
Und sagt aus, wieviele leichzeitige Verbindungen der Datenbankbenutzer herstellen kann - in dem Fall der eingetragene Benutzer der Formsoftware.
Hat nichts mit normalen Besuchern zu tun.

Somit sind schlußendlich eher die max_connections wichtig(er).
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von posaunen »

Nach meinem Verständnis werden alle Datenbankabfragen der Forensoftware über einen einzigen user abgewickelt - und zwar denjenigen der in der config.sys definiert wird.

Der begrenzende Faktor für den Datenbankzugriff des Forums wird also in der Regel der für max_user_connections eingestellte Wert sein. - Jedenfalls solange wie der Wert für max_connections größer ist.
seb81
Mitglied
Beiträge: 104
Registriert: 04.02.2011 09:39

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von seb81 »

Das würde dann heißen das 30/500 besser sind als 20/2000. (Auf keinen Fall schlechter)
:-?
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von posaunen »

Jedenfalls dann, wenn im wesentlich nur deine phpbb-Installation mit der Datenbank betrieben wird.

Es ist aber komplex. Phpbb ist ja in der Regel nicht der einzige mysql-user.

Falls das für max_connections definierte Kontingent ausgeschöpft ist weist der Datenbankserver weitere gleichzeitige Anfragen ab, auch wenn die max_user_connections nicht erreicht sind. Anders herum genauso.

Ob es überhaupt und wenn ja wo klemmt hängt von der tatsächlichen Auslastung des Datenbankservers und der Zugriffszahlen auf das Forum ab.
seb81
Mitglied
Beiträge: 104
Registriert: 04.02.2011 09:39

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von seb81 »

Danke für die Antwort. Ich hatte bereits im Netz versucht, eine klare Aussage zu finden – leider Fehlanzeige. Die Aussagen waren immer unterschiedlich. Die eine Seite schreibt: "Jedes Mitglied, jeder Gast, ... ist ein DB-User", die andere Seite sagt dazu: "Nein, das ganze Board ist ein DB-User".

Also ist tatsächlich das Board der eine DB-User (so wie es auch in der config.php steht). Mit der zweiten Zahl (500 bzw. 2000) habe ich dann nichts direkt zu tun. Das ist Sache des Webhosters.

Das würde dann bedeuten: Wenn er seinen Server mit 20/2000 konfiguriert hat, kann er die "20" eigentlich nur gewährleisten, wenn er maximal 100 User pro Server zulässt (also 100 User mal 20 versprochen = maximal 2000).
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von posaunen »

Das ist vielleicht eine etwas theoretisch / formale Betrachtung und die Hoster werden anders rechnen.

EDIT:
Vielleicht noch zur Klarstellung ...

max_user_connections limitiert nicht die Anzahl der User, sondern die Anzahl der gleichzeitigen connections / Abfragen für einen einzelnen User.
seb81
Mitglied
Beiträge: 104
Registriert: 04.02.2011 09:39

Re: Grundsätzliche MySQL Frage (max-connections / max-user-connections)

Beitrag von seb81 »

Genau, aber der entscheidende Punkt ist: Das Board ist der eine DB User.
(Da wird bestimmt der eine oder andere später noch nach Googlen. Ich bin sicher nicht der einzige Webhosting phpBB Boardadmin der sich diese Frage stellt.)
Antworten

Zurück zu „Coding & Technik“