confixx_updatescript.pl, Mysql und Apache

AlexMuc81

New Member
Liebe Confixx Freunde,

ich bin neu hier im Forum und würde mich sehr freuen wenn einer von euch mir weiterhelfen kann. Da ich eigentlich aus der Windows Welt komme, nicht wundern wenn mal komische Fragen kommen.

Ich betreibe als Hobby einen Rootserver bei QSC. Dieser macht mir seit ein paar Wochen Ärger. An der Konfiguration wurde nichts verändert und leider habe ich nicht genügend KnowHow um mir weiterzuhelfen.

Ich habe immer wieder Mails mit folgendem Fehler bekommen:

Code:
DBI connect('confixx:localhost;mysql_socket=/var/lib/mysql/mysql.sock','confixx',...) failed: Too many connections at /opt/confixx/confixx_updatescript.pl line 362
#2231: Konnte Datenbankverbindung nicht aufbauen : Too many Connections
Ich habe dann mal ein wenig gegoogelt und habe Beiträge gefunden die mir sagen ich soll mal die mysql processlist prüfen.

Hier ist einer meiner angelegten User sehr häufig drin. Immer nur ein paar Minuten, dann ist die Processlist wieder leer. Auf der Webseite läuft eine CMS. Somit dachte ich mir es muss davon kommen. In den Apache Logfiles habe ich dann folgenden seltsamen Aufruf gefunden

Code:
::1 - - [04/Oct/2013:05:22:03 +0200] "GET /" 400 996
xx.xxx.243.80 - - [04/Oct/2013:05:21:44 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:44 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:44 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:43 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:43 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:42 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:42 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:41 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:41 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
::1 - - [04/Oct/2013:05:22:04 +0200] "GET /" 400 996
xx.xxx.243.80 - - [04/Oct/2013:05:21:41 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:40 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:40 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:40 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:39 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:38 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:38 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:37 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
xx.xxx.243.80 - - [04/Oct/2013:05:21:37 +0200] "GET /index.php?id=51 HTTP/1.0" 404 - "-" "-"
Diese Aufrufe finde ich zigfach im Logfile. Die xx.xxx.243.80 ist meine Server IP.

Kann hier irgendjemand einen Zusammenhang erkennen oder mir sagen woher diese index.php aufrufe kommen.

Code:
# e.g. Linux, FreeBSD
$OSTYPE = 'Linux';

# Confixx Version
$version = '3.3.4';

Vielen Dank für Eure Unterstützung.
Liebe Grüße
Alex
 

The_Nero

Supporter
Hallo Alex,

wie in den E-Mail von deiner Confixx Installation bereits steht, ist dein primäres Problem, dass zu viele Verbinden auf deinen MySQL Server bestehen. Also kommen wir erstmal zu den Basics. Wenn du dich auf der MySQL CLI befindest, kannst du mit folgenden Befehlen dir erstmal eine Übersicht verschaffen:

Zeigt deine aktuelle Anzahl der gleichzeitigen Verbindungen an:
Code:
mysql> show variables like "max_connections";
Diesen Wert kannst du im Laufenden Betrieb wie folgt ändern:
Code:
mysql> set global max_connections = 400;
Danach sollte der Wert auch in der /etc/my.cnf Datei angepasst werden, sodass der MySQL Server beim nächten Reboot mit dem korrekten Wert arbeitet.

Die aktuellen Verbindungen kannst du dir am besten mit einen kurzen Einzeiler anzeigen lassen:
Code:
netstat -ntp | grep "mysqld" | egrep "VERBUNDEN|ESTABL" | wc -l
Jetzt kommen wir zum Interessanten. Mit diesen 2 Befehlen kannst du dir ansehen, was da überhaupt für Anfragen gesendet werden:
Code:
mysql> show processlist;
mysql> show full processlist;
Mit der Ausgabe der processlist, sieht du ja auch welcher web Benutzer und somit welche Webseite die Last Verursacht. Wenn das Problem noch akut ist, solltest du direkt ein Blick in die access.log Dateien werfen.

Gruß,
Nero
 
Top