Seite 1 von 1

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

Verfasst: 27.11.2024 10:38
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:

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

Verfasst: 05.12.2024 21:14
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).

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

Verfasst: 06.12.2024 08:22
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.

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

Verfasst: 22.12.2024 13:19
von seb81
Das würde dann heißen das 30/500 besser sind als 20/2000. (Auf keinen Fall schlechter)
:-?

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

Verfasst: 22.12.2024 14:42
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.

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

Verfasst: 22.12.2024 16:33
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).

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

Verfasst: 22.12.2024 17:20
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.

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

Verfasst: 22.12.2024 18:10
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.)