Sie sind nicht angemeldet.

1

10.05.2007, 12:31

Komplettes Interface ist phasenweise nicht erreichbar

Hallo miteinander,

ich habe einen dedizierten Server bei Hetzner für ein Communityportal gebucht. Installiert ist ein aktuelles Debian 4 mit Lighttpd, MySQL etcpp...
Es sind relativ viele Zugriffe auf die Seite (ca. 1,5GB Traffic am Tag).
Allerdings gibt es immer wieder, ohne erkennbare Regelmäßigkeit, komplette Verbindungsabbrüche, sprich alle Verbindungen, sei es HTTP, SSH oder FTP brechen auf einen Schlag ab und sind erst einige Minuten bis einer halben Stunde später wieder erreichbar.
Laut MTR ist die Verbindung tatsächlich am Server weg... Ansonsten ist die Verbindung absolut schnell.

Ich habe sämtliche mir bekannte Logs gecheckt und nichts gesehen, soll heißen zu den bestimmten Zeiten gibt es keinerlei Einträge.

Die Load liegt im Normalbetrieb zwischen 3 und 5 und geht nach einem solchen Verbindungabbruch natürlich runter, da sich der Lighttpd und die MySQL auf einen Schlag langweilen.

Kann es sein, dass das Interface (eth0) einfach bei einem bestimmten Schwellwert an "Verkehrsaufkommen" pausiert? Oder irgendwas in der Art? Gibt es da Logs für oder lassen sich welche aktivieren?

Habt ihr irgendeinen Ansatz, wie ich das Problem weiter eingrenzen könnte?

Schönen Gruß

Ike

2

10.05.2007, 13:06

stehen in /var/log/syslog , /var/log/messages irgend welche Einträge in den betroffenen Zeiträumen?
Lässt sich der Server pingen bzw. funktioniert dann noch ssh?

Last 3-5 ist definitiv zu hoch für den Traffic! Überprüfe mal Deine Anwendung(en)!
Dieser Server hier, auf dem auch linux-web.de läuft (auch bei Hetzner, aber eigene Hardware in CoLocation), hat neben ein paar ganzzahligen Last-Spitzen durchschnittlich zwischen 0.2 und 0.4 ... bei 8-40GB Traffic pro Tag!
Evtl. kommt das "Pausieren" evtl. durch Überlast-Situationen ... dann hättest Du aber wahrscheinlich nichts in den Logs.

Raten hilft aber nichts, schau Dir die Ausfallzeiten genau an (Swap/Speicher/CPU, Logs evtl. auch das Errorlog des Webservers, etc.)

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

3

10.05.2007, 14:18

Also das mit den 1,5GB Traffic war ein Irrtum... Tatsächlich sind es 10GB, die 1,5 waren Incoming... Das nur vorneweg...

Wenn der Fehler auftritt lässt sich der Server nicht mehr pingen (MTR/Traceroute geht nur noch bis zur letzten Station vor dem Server) und sämtliche Verbindungen (also auch SSH) brechen ab.

Logs habe ich sämtliche gecheckt, weder Systemlogs, noch die Lightylogs zeigen irgendwas auf... Ein ls -lat /var/log/ zeigt, dass die Logs teilweise auch 20 Minuten oder länger nicht mehr angerührt wurden...

Aber das mit der Load ist wohl tatsächlich etwas krass... das muss ich mal untersuchen... Gerade die MySQL ist hier wahrscheinlich absolut suboptimal konfiguriert... Gibts da irgendwo ein How-To oder Best-Practices?

Merkwürdig finde ich aber trotzdem, dass die Verbindung auf allen Kanälen abbricht. Auch eine hohe Load sollte das doch nicht verursachen, oder? Maximale eine sehr hohe Load, jenseits der 50 vielleicht... Das wäre zumindest so meine Erfahrung... Nicht dass es erstrebendwert wäre...

4

10.05.2007, 14:47

> ... Auch eine hohe Load sollte das doch nicht verursachen, oder? ...
Doch das geht ... alle Schichten oberhalb der Netzwerkkarte sind in Software implementiert, und wenn der Server überlastet ist, findet auch ein TCP/IP-Stack keine CPU-Zeit ;)
Ich habe schon Hetzner-Server erlebt, die bei Last ~ 10 keine Reaktion mehr gezeigt haben.
Ein weiterer typischer "Hetzner-Server-Fall" wäre Arbeitsspeichermangel ... das führt zu massiveM Swapping (nicht nur ein paar MB), und irgendwann stößt der Kernel mal an die Grenzen von RAM und Swap und meint dann aufräumen zu müssen ... ergo ist eine "Aufräumgedenkpause" für alle anderen Prozesse angesagt ...

Evtl. solltest Du Dir auch mal Gedanken bzw. Berechnungen zur Wertigkeit Deiner Webseite machen ... lohnt sich ein eigener Server? Sind die Ausfallkosten hoch? , etc.

Man sollte von einem Billigst-Mietserver nicht all zu viel Leistung erwarten ... was glaubst Du, was von den 30.-€ Monatsmiete für die Finanzierung der Hardware einkalkuliert ist? Ich kenne die Kalkulation von Hetzner nicht, aber Strom, Platz/Raumkosten, Klimatisierung, Standleitungskosten, USV, Supportmitarbeiter ...
Das kostet alles viel Geld ... und ich denke mal da bleibt nicht viel für die eigentliche Serverhardware über ... was man an den in Magazinen angebotenen Rechnern erahnen kann (AMD Desktop-CPUs sind mir schon am Desktop zu langsam, da verbaue ich sowas doch nicht in einen Server!)

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

5

10.05.2007, 14:52

Also es ist ein DS9000, der mit 150€ im Monat aufschlägt, mit 4GB RAM (die bei weitem nicht ausgereizt werden), Geswappt wird hier also nicht.

Der Prozessor ist ein AMD Opteron 1218 Dual Core, was die hohe Load ist aber noch trauriger macht...

Momentan habe ich aber die MySQL ganz konkret im Verdacht, da sie zeitweise mit 90% CPU-Zeit unterwegs ist... da stimmt also irgendwas ganz konkret net...

6

10.05.2007, 15:25

> Also es ist ein DS9000, der mit 150€ im Monat aufschlägt, mit 4GB RAM (die bei weitem nicht
> ausgereizt werden), Geswappt wird hier also nicht.
>Der Prozessor ist ein AMD Opteron 1218 Dual Core, was die hohe Load ist aber noch trauriger macht...

wow, ok, nicht der "übliche VerdÄchtige" DS3000 ;)

> Momentan habe ich aber die MySQL ganz konkret im Verdacht, da sie zeitweise mit 90% CPU-Zeit
> unterwegs ist... da stimmt also irgendwas ganz konkret net...
Das ist schon mal ein Analtspunkt. Ist es eine selbst entwickelte Anwendung?
(Wenn nein, würde ich nur die Programmierer ansprechen und nicht selbst etwas am Code verändern, sonst kann man keine Sicherheitsupdates mehr machen)

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

7

10.05.2007, 16:23

50:50
Es basiert auf Joomla, gut die Hälfte aller verwendeten Components und Modules ist aber selbstentwickelt oder stark abgewandelt.... (Was da in der Weltgeschichte rumprogrammiert wird ist ja teilweise erschreckend!)

renegade

macht was er will

  • »renegade« ist männlich

Beiträge: 2 842

Wohnort: Ostfriesland

Beruf: root

  • Nachricht senden

8

10.05.2007, 16:46

Dann würde ich genau da ansetzen. Evtl gibts irgendwo nen Fehler in Deinen Modulen.
Hier wäre eine Endlosschleife oder etwas vergleichbares, die Daten aus der SQL-DB zieht, denkbar. Das würde zumidest die Load und das abbrechen der Verbindung erklären.
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."

9

10.05.2007, 16:48

Wird schätzungsweise ein Zwischending aus suboptimalen Queries und subsubsuboptimaler MySQL-Konfiguration sein...
Werd mal da ansetzen und schauen, was rauskommt...

Danke derweil!

10

10.05.2007, 17:20

Suche mal nach Joins über großen Tabellen ... das zwingt MySQL gerne mal dazu, temporäre Tabellen auf der Festplatte zu erzeugen und das reisst die Performance ganz gewaltig!

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

11

10.05.2007, 17:53

Zitat

Original von Ike
50:50
Es basiert auf Joomla, gut die Hälfte aller verwendeten Components und Modules ist aber selbstentwickelt oder stark abgewandelt.... (Was da in der Weltgeschichte rumprogrammiert wird ist ja teilweise erschreckend!)

OT: Davon halte ich ja gar nichts! Es ist ja manchmal schon ein echter Aufwand, so manche PHP-Software so wie sie ist sicherheitstechnisch auf dem Laufenden zu halten.
Wenn man nun die Anwendung abändert, kann man erst mal keine regulären Updates mehr machen!

Und noch schlimmer: Die Konvention "Wer eine Sicherheitslücke findet, erst dem Entwickler melden und bei Verfügbarkeit eines Fixes der Welt!" macht in diesen Fällen alles noch schlimmer ... Man bekommt mit dass eine Lücke besteht, und muss sich echt ins Zeug legen, da die Lücke allgemein bekannt und von "bösen Buben" auch in Masse benutzt wird!

I.d.R. geben die meisten Leute dieses "Hinterherhecheln" irgendwann auf (wenn es denn überhaupt stattfindet) und lassen ihre Anwendung so wie sie ist weiter laufen ... und wenn das Kind in den Brunnen gefallen ist rufen sie mich ... :(

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

Thema bewerten