Seite 1 von 1

Kann ein PHP spider einen ganzen server zum lahmen bringen??

Verfasst: 26.06.2007, 12:39
von ich61
Frage steht ja im titel mein server läuft ohne probleme jedoch habe ich gemerkt wenn mein spider meiner suchmaschine loslegt dann lahmt die ganze kiste ich weiß nicht obs daran liegen kann??Evtl ist es auch was anderes??Hat da jemand eine idee??

Nach einem neustart läuft der server dann wieder normal.

Verfasst:
von

Verfasst: 26.06.2007, 12:43
von kill_bill
Naja, wenn der PHP-Spider dann noch schlecht programmiert ist, kann er insbesondere auf den zu spidernden Seiten nicht unerheblich Traffic verursachen. So hatten wir nachdem wir so einen Spider via Script ausgegrenzt hatten, über 700 Aufrufe / Minute. Gerne hätte ich ein Wörtchen mit dem Urheber gewechselt...

Verfasst: 26.06.2007, 12:47
von propaganda
Manchmal ist nicht der Spider, sondern die Website schuld.
Ich habe mal eine schlecht programmierte Webseite eines Kunden mit Xenu lahmgelegt :o

Verfasst: 26.06.2007, 12:53
von ich61
Mein server lahmt total ich weiß nicht an was es liegen kann den spider hab ich jetzt ausgeschaltet aber er lahmt immer noch als denke ich der spider kanns nicht sein.


Wie kann man denn feststellen wo der fehler her kommt??Gibts da nen script oder sowas was die genaue fehlerquelle analysieren kann??

Verfasst: 26.06.2007, 13:30
von t-rex
Hi,

das kann - wie so oft - an allem möglichen liegen. Aber mit dem Spider liegst du vielleicht gar nicht so falsch ;-)

Um das zu testen / zu überprüfen, sind ein paar Kenntnisse im Umgang mit der Konsole notwendig. Sofern Du Zugriff auf die Konsole hast. Am besten als Root.

Zuerst solltest Du mit uptime nachsehen, wie die momentane Auslastung auf deinem Server ist. Noch besser, die Auslastung mal ein paar Stunden lang beobachten.

Dann solltest Du dir die Prozessliste genauer ansehen. Ich mache das gerne mit dem Kommando ps fax. Da sieht man dann welche Prozesse aktiv sind und wieviel Tochterprozesse am laufen sind. Um das mal ne Weile zu beobachten, verwendest du am besten das Programm top.

Nun solltest du auch nachsehen, wieviel Verbindungen zu Deinem Rechner aufgebaut sind/werden. Das machst Du mit netstat -tn. Die Parameter -tn sorgen dafür, dass die Ausgabe auf das beschränkt wird, was Du benötigst.

Hier die Befehle im Überblick. Das was hinter der Raute (#) steht, ist das was du eingeben musst.

Auslastung überprüfen
# uptime

Auslastung überwachen
# watch -3 uptime

Prozessliste ausgeben.
# ps fax

Ist die Prozessliste zu lang, dann kannst Du die Ausgabe auch in einen Pager umleiten. Ich bevorzuge less.
# ps fax | less

Um die Prozesse dauerhaft zu überwachen
# top

Um mal eine Liste der Netzwerkverbindungen anzusehen.
# netstat -tn

Auch hier kannst Du die Ausgabe umleiten
# netstat -tn | less

Um das dauerhaft zu überwachen
# watch -n3 "netstat -tn"

Ist die Ausgabe zu lange, dann kannst du auch hier mal versuchen, dass mit ein paar grep Befehle einzuschränken. Der folgende Befehl würde die Ansicht auf die HTTP-Anfragen begrenzen.
# netstat -tn | grep -v ":80 "

Es empfiehlt sich, Wenn man solch ein Problem monitort, dann mit den vermuteten Fehlerquellen ein bisschen rumzuspielen, und genau beobachten, was dann auf dem Server passiert.

Wenn Du dann noch genauer Hilfe benötigst, solltest Du die Ergebnisse der Tools hier ebenfalls posten. Und zudem wäre es hilfreich, wenn Du auch den Spider benennen könntest.

Und als letzter Tip. Evtl. kann man bei dem Spider nachsehen, an welcher Seite er gerade rumknabbert. Denn vielleicht hängt er gerade an einer Seite, die der Webmaster so präpariert hat, dass die Spider Probleme bekommen ;-)

sonnige Grüsse
HaPe

Verfasst: 26.06.2007, 14:03
von marc75
Kann ein PHP spider einen ganzen server zum lahmen bringen??
Ja kann er, sowohl deinen und dem des besuchten

Verfasst: 26.06.2007, 14:40
von everflux
Wenns Linux ist atsar verwenden/installieren, bei Solaris sar nehmen. mrtg kann bei Traffikpeaks schnell Hinweise liefern.

Was für eine Suchmaschine hast du denn - kann es vielleicht sein, dass andere, ähnliche "Produkte", Deine Suchmaschine spidern?

Wer administriert denn Deinen Server?

Verfasst: 26.06.2007, 14:54
von acersun
...ansonsten ist auch die Datenbank ganz gerne mal die Bremse, gerade wenn irgendwo ein index nicht gesetzt ist und die Abfragen bei zunehmenden Datensätzen immer langsamer ausgeführt werden.
Bei mysql log_slow_queries in der /etc/mysql/my.cnf aktivieren und dann regelmäßig im slow-log nachschauen welchen Abfragen zu lange dauern, entsprechend DB-Struktur oder Queries optimieren.

Verfasst: 26.06.2007, 16:09
von ich61
Ja ich vermute auch es liegt an der Datenbank der server wurde vor 4 wochen erst komplett neu installiert.

Deswegen glaube ich kaum das mit dem system was nicht stimmt ich nehme an MySQL macht facen aber wieso weiß ich leider noch nicht.

Verfasst: 26.06.2007, 16:15
von everflux
Am besten mit Deinem Admin mal darüber reden, ehe Du versuchst auf die schnelle ein System-Guru zu werden :)

Verfasst: 26.06.2007, 19:20
von ich61
Mittlerweile läuft wieder alles es war nur der wert der maximalen clients im Webserver zu niedrig eingestellt.Nachdem der wert jetzt höher eingestellt wurde rennt die kiste wie am ersten tag :D