Jump to content
Froxlor Forum
  • 0

too many connections


witschi
 Share

Question

Hallo Zusammen,

ich habe gerade das Problem, dass pro Sekunde etwa zwei weitere Connections zu MariaDB aufgebaut werden (die scheinbar nie quittiert werden). Das hat zur Folge, dass irgendwann alles zusammenbricht.

show status where variable_name LIKE '%conne%' 

Damit bekomme ich die Variablen Connections (steht aktuell bei 2733 und verändert sich sekündlich).

Threads_connected steht bei 210, was mir auch sehr hoch erscheint.

Wenn ich mir nun die Processlist ansehe:

select * from information_schema.processlist 

sind 99% vom user froxlor auf die Datenbank froxlor.

 

Zu meiner Konfiguration:

NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"

Der Webserver ist ein Apache 2 mit PHP-FPM.

Nun hatte ich ebenfalls eine Weile das Problem, dass die socket-Datei in /var/lib/apache2/fastcgi nicht gelesen werden konnte. Nachdem ich dort mit chmod 777 die Rechte geändert habe, gab es auch kein 503er vom Webserver mehr.

Meine Vermutung ist, dass der nscd die Verbindung zur Datenbank nicht terminiert und auch nicht cached. Ich weiß aber nicht so Recht wie ich das prüfen soll.
Kann man die offenen Connections irgendwie prüfen?

Gibts ansonsten irgendwelche Anhaltspunkte, die ich verfolgen könnte?

Alle eingesetzten Pakete sind übrigens in der neusten Version aus den Repos. Auch Froxlor ist in der neusten Version 0.10.25 installiert.

Webserver: 	Apache/2.4.35 (IUS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/7.3.27
PHP-Version: 	7.3.27
MySQL-Server-Version: 	5.5.68-MariaDB
Webserver-Interface: 	FPM-FCGI
Speicherauslastung: 	

MemTotal:       49294584 kB
MemFree:        33253948 kB
MemAvailable:   39656604 kB

System-Auslastung: 	0.45 / 0.58 / 0.65
Kernel: 	3.10.0-1160.21.1.el7.x86_64 (x86_64)
Uptime: 	7d, 15h, 6m, 16s

Ich könnte übrigens auch auf nscd verzichten, da eh nur ein "Kunde" auf dem Server liegt.

 

Vielen Dank schon Mal! :)

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Am besten mal query debugging anschalten, damit man sieht was denn da durchgehend vom froxlor-db user abgefragt wird um das Problem einzugrenzen; sollte es nscd sein schätze ich du nutzt libnss-mysql? ich glaube für red-hat gibt es kein libnss-extrausers oder?

Link to comment
Share on other sites

  • 0

Ja, genau. libnss-extrausers gibt es nicht.

Ich sehe aber gerade im messages-Log, dass der Cronjob Fehler wirft:

Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
Apr  7 11:00:03 akqhplvap202 journal: aster process (/etc/php-fpm.conf): libnss-mysql: Connection to server 'localhost' failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)

Obowohl die .sock-Datei vorhanden ist. User und Group sind mysql.

Wie schalte ich das query-debugging ein? Google macht mich da nicht schlauer. 😄

Link to comment
Share on other sites

  • 0

Das Query Log bringt mich dann wohl auch nicht weiter. Da drin sieht aber auch alles gut aus. Die Cronjobs laufen durch und enden auch mit einem QUIT.

Das Problem muss also libnss sein. Kann ich nicht den Server nicht auch ohne libnss konfigurieren?

Ich komme nicht dahinter, warum er nicht connecten kann. Die sock-Datei ist vorhanden und ist sogar mit 777 für jeden lesbar.

Link to comment
Share on other sites

  • 0

stimmen denn user und password in der libnss-mysql config auch 100%?

Wenn du sagst du hast da sowieso nur einen kunden und es es bleibt dabei und du verzichtest auf das mapping kannst du den user/die gruppe mit der ihm zugewiesenen uid/guid auch lokal anlegen und das libnss-mysql und nscd zeug wegschmeissen.

Halt sehr schade, dass RedHat da keine Alternative wie extrausers hat

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...