Apche baut über 3000 Verbindungen zu SQL Server auf.

Apache, Lighttpd, nginx, Cherokee
versuchstier
Posts: 9
Joined: 2008-01-06 18:20

Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by versuchstier » 2008-05-01 11:33

Hallo alle zusammen,

wir haben folgendes Problem mit unserem Webserver:

Schon seit Tagen haben wir immer Ausfälle verursacht von zu vielen Verbindungen zu dem DB Server.

Heute sind alle 400 Seiten Tot. Und der Apache liefert nur eine weisse Seite.

Bei der processlist auf dem DB Server finden sich Tausende solcher einträge:

Code: Select all

| 1413 | unauthenticated user | 192.168.0.5:41476 | NULL    | Connect | NULL | login | NULL             | 
| 1414 | unauthenticated user | 192.168.0.5:41477 | NULL    | Connect | NULL | login | NULL             |
| 1415 | unauthenticated user | 192.168.0.5:41478 | NULL    | Connect | NULL | login | NULL             |
| 1416 | unauthenticated user | 192.168.0.5:41479 | NULL    | Connect | NULL | login | NULL             |
| 1417 | unauthenticated user | 192.168.0.5:41480 | NULL    | Connect | NULL | login | NULL             |
| 1418 | unauthenticated user | 192.168.0.5:41481 | NULL    | Connect | NULL | login | NULL             |


bis er sagt too many connections.

Wir werden der Lage nicht mehr Herr und brauchen dringend Hilfe !

Kann das eine SQL Injection sein?

Wenn ich den Apache deaktiviere so bauen sich auch die Verbindungen zum DB Server ab!

Es sind ein paar Crawler von Yahoo und Msn drauf. User derweil nicht mehr :-(

Gruß versuchstier

EDIT: der Webserver und DB server sind per internem Gigabit verbunden. Die Auslastung beider Geräte ist fast 0, das noch zur Info.

freddy36
Posts: 273
Joined: 2008-03-20 17:31

Re: Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by freddy36 » 2008-05-01 11:56

Was macht den der Apache selbst mit mysql???

Ich tippe mal eher auf irgend ein php Script oder so was das verursacht...

Wenn php, etc. als (f)cgi läuft sollte es kein Problem sein herauszufinden welcher user das Problem verursacht (Port Nummer), wenn mod_php, etc. läuft seit ihr selber schuld :)

mysql.connect_timeout könnte helfen, aber löst nicht das Problem.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by oxygen » 2008-05-01 12:02

Verzichte auf persitent connections und benutzte den socket statt tcp.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by Joe User » 2008-05-01 12:16

oxygen wrote:Verzichte auf persitent connections und benutzte den socket statt tcp.

Der Socket liegt auf nicht auf dem lokalen System, also ist TCP angesagt ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

versuchstier
Posts: 9
Joined: 2008-01-06 18:20

Re: Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by versuchstier » 2008-05-01 12:44

Hallo,
mysql.connect_timeout könnte helfen, aber löst nicht das Problem.


Beim DB Server steht die schon auf 10.

fcgi sehe ich auf der Möhre nicht. Scheint nur über mod_php zu laufen.

Momentan schalten wir Modul für Modul ab und schauen ob wir den fehler finden. (unser CMS system)

gibt es noch andere möglichkeiten?

irgendeinen tracker oder so?

danke schonmal für eure antworten.

gruß versuchstier

terx`
Posts: 23
Joined: 2008-04-10 18:58
Location: Südoldenburger Land

Re: Apche baut über 3000 Verbindungen zu SQL Server auf.

Post by terx` » 2008-05-02 12:35

Tracker:

Code: Select all

grep -R 'mysql_p?connect' /var/www


Oder gleich:

Code: Select all

sed 's/mysql_connect/mysql_pconnect/' ...