Hohe CPU Load

Keine Scheu, hier darf alles gefragt und diskutiert werden. Das ist das Forum für YaCy-Anfänger. Hier kann man 'wo muss man klicken' fragen und sich über Grundlagen zur Suchmaschinentechnik unterhalten.
Forumsregeln
Hier werden Fragen beantwortet und wir versuchen die Probleme von YaCy-Newbies zu klären. Bitte beantwortete Fragen im YaCy-Wiki http://wiki.yacy.de dokumentieren!

Hohe CPU Load

Beitragvon hotel24 » Di Sep 17, 2013 7:53 am

Hallo,

YaCy benötigt im Leerlauf permanent über 100% der CPU Load. Teilweise geht die Last auf über 300%, sodass das Tool nicht mehr reagiert oder verwendbar ist. Bei früheren Versionen war das kein Problem. Allerdings kann ich leider keine genaueren Angaben machen, bei welcher Version noch alles geklappt hat. Aktuell verwende ich die neueste Version 1.6/9003.

Hat jemand eine Idee, wie sich die Situation lösen lässt?
Vielen Dank!
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon sixcooler » Di Sep 17, 2013 11:09 am

Hallo hotel24,

YaCy erzeugt normalerweise nur eine geringe CPU-Auslastung.
Hast Du evtl eine Thread-Dump-Statistik für uns damit wir uns ein Bild machen können?

Cu, sixcooler.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Di Sep 17, 2013 4:24 pm

Hallo sixcooler,

danke für das Feedback.

Ich denke, die Situation hat sich nun von selbst geklärt. Vor ein paar Tagen habe ich einige Crawlingprozesse gleichzeitig gestartet. Da die Verarbeitung der dabei als Basis dienenden Dateien (Dateien mit einer großen Anzahl von Urls) das Tool in die Knie gezwungen hat, habe ich diverse Abbruchfunktionen genutzt (kill, Terminate, etc.). Letztendlich waren vermeintlich alle Crawlingprozesse gestoppt und keine Daten mehr in Verarbeitung. Im Crawling Monitoring war alles ruhig. Doch dies war ein Irrtum, denn im Hintergrund hat YaCy offensichtlich weiterhin gearbeitet. Nach mehreren Stunden wurden plötzlich wieder Crawlingprozesse sichtbar, die scheinbar doch nicht ordnungsgemäß beendet wurden, etc. Dies erklärt wohl die hohe CPU-Aktivität (für das Laden der Dateien mit den Urls).

Darauf hin habe ich alle Prozesse mit "Terminate" gestoppt und nun werden die Seiten aus "Lokaler Crawler" entfernt, aber nur sehr, sehr langsam. Gibt es evtl. eine Möglichkeit, dies zu beschleunigen? Die CPU-Last liegt dzt. noch immer bei 100% und darüber.

Also generell scheint es problematisch zu sein, eine Datei mit vielen Urls hochzuladen, bzw. gleich mehrere Dateien gleichzeitig. Gelöst werden kann diese Situation aus meiner Sicht, indem jeweils nur ein Crawlingprozess gestartet wird. Wenn dieser fertig ist den nächsten, usw. Wie viele Urls dabei pro Datei seitens YaCy "verkraftbar" sind gilt es noch Herauszufinden.

LG, hotel24
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon sixcooler » Di Sep 17, 2013 4:44 pm

Hallo hotel24,

beim Crawlen von URLs aus einer Datei gab es mal ein Limit von 10.000 - das ist aber mal aufgehoben worden.
Nach meiner Erfahrung gehen die 10.000 auch.
Wie viel bei Dir geht kann schon wieder ganz anders sein - denn das hängt nicht nur von YaCy ab: auch muss z.B. dein DNS die anzen Namen Auflösen, etc.

Cu, sixcooler.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: Hohe CPU Load

Beitragvon Orbiter » Di Sep 17, 2013 5:10 pm

es gibt seit ein paar Monaten auch noch einen Nachberabeitungsprozess, der erst gestartet wird wenn alle Crawls durch sind. Dieser berechnet dann (vor allem, mehr kann kommen) zwei Parameter: Klicktiefe eines Dokumentes und den domain-spezifischen Page Rank - diese Werte werden beim Ranking benutzt. Das kann dann aber tatsächlich ziemlich CPU-intensiv werden, wird aber seit ein paar Wochen nur dann gestartet wenn die CPU ansonsten nix zu tun hat (da wird er aktuelle Load nachgeguckt). Der Vorgang sollte nicht so lange andauern (das hängt davon ab was vorher gecrawlt wurde), ist dafür aber tatsächlich heftig.

Vielleicht war es das ja.

Dadurch dass diese Ranking-Werte nach dem Crawl erst berechnet werden, ist die Ergebnisreihenfolge während einem Crawl auch anders als wenn der Prozess dann durch ist.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Hohe CPU Load

Beitragvon hotel24 » Mi Sep 18, 2013 10:50 am

Danke für die Ausführungen.

Nachdem alle Seiten mittels "Terminate" aus "Lokaler Crawler" entfernt wurden, war die CPU beinahe 0.

Daraufhin habe ich einen "Neustart" durchgeführt und plötzlich ist die CPU Last wieder über 200%. Im Logfile ist etwas von solr-Optimierung gestanden. Nach rd. 2h war dieser Vorgang dann beendet und die CPU Last wieder ok.

Dann habe ich einen Crawlingprozess gestartet mit einem File, dessen Größe in früheren Zeiten keine Probleme bereitet hat. Diesmal ist das Tool jedoch hängen geblieben. Nach einem "kill" habe ich YaCy wieder aktiviert und letztendlich wurde der Indizierungsvorgang gestartet. Scheinbar führen Veränderungen im Zuge der letzten Versionsänderungen/Updates hier nun zu Problemen.

Ich verwende YaCy dzt. vordergründig zur Indizierung von Webseiten. Die Suche erfolgt über einen externen solr-Server. D.h. die solr-Optimierung, Berechnung der Rankingfaktoren, etc. werden dort behandelt. Lassen sich daher die im Hintergrund stattfindenden (und scheinbar neu implementierten) Optimierungsvorgänge und Rankingberechnungen evtl. abschalten? Dann sollte YaCy für meine Zwecke eigentlich wieder super funktionieren.
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Mo Sep 23, 2013 7:48 pm

wie in den vorangegangenen Posts beschrieben, funktioniert YaCy dzt. für meine Zwecke leider nicht mehr. Ziel ist es, rd. 10 Mio. Urls von unterschiedlichen Domains zu indizieren. Die Urls sind alle bekannt und wurden bisher mittels Dateien an YaCy übergeben, portioniert zu jeweils 1 Mio. Urls pro Datei. Dies hat bei früheren Versionen immer gut funktioniert, mit der aktuellen Version aber leider nicht mehr.

Hat jemand eine Idee, wie ich die Urls in das System bekomme bzw. YaCy diese ohne Abstürze abarbeiten kann?
1000 Dank für Eure Hilfe!!!
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon David » Di Sep 24, 2013 7:22 pm

Möglicherweise nützt es was, wenn du in den Leistungseinstellungen den Prozentwert auf 10 stellst, und unter "Crawler Überwachung" beim PPM-Wert 100 (oder niedriger, ich selber benutzte 30) eingibst und dann den Knopf "benutzerdefiniert" anklickst. Ich glaube auch, dass 1 Million Links pro Datei zuviel sind. Ich habe vor einiger Zeit auch mal Yacy mit solchen Listen gefüttert, und soweit ich mich erinnere hat es nur funktioniert, wenn pro Datei nicht mehr als 100 Tausend Links enthalten waren, oder vielleicht waren es auch nur 50 Tausend. Ich weiss nicht mehr genau.
David
 
Beiträge: 170
Registriert: Di Mär 05, 2013 5:35 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Mo Sep 30, 2013 9:52 am

Danke für die Tipps!

Ich habe nun die Dateien auf 100.000 Links reduziert. Mit dieser Zahl scheint das Tool arbeiten zu können. Mit einer Anzahl darüber hinaus gibt`s immer wieder Probleme (In früheren Versionen waren interessanterweise 1 Mio. Links auch kein Problem).

Der Grund für die Probleme ist scheinbar nicht die CPU Load, sondern der verfügbare Speicher. Das war von mir irrtümlicherweise falsch interpretiert. Die von mir beschriebenen hohen CPU Werte von über 300% beziehen sich auf die Gesamtleistung des Rechners. Bei dem gegenstädlichen Rechner liegen 8 Kerne vor, somit sind insgesamt 800% möglich (Wenn man bei "top" auf "Shift I" drückt, dann wird der Verbrauch an der gesamt zur Verfügung stehenden CPU angezeigt). D.h. die CPU war bisher nicht das Nadelöhr, sondern eben der Speicher.

Ganz verstanden habe ich die Speichersituation bzw. den Bedarf von YaCy allerdings noch nicht. Der Rechner besitzt 32 GB RAM, 16 davon sind seitens des Rechners für JAVA reserviert. Bei YaCy sind 15000 MByte für JAVA reserviert. Wenn ich nun eine Datei mit 100.000 Links hochlade, dann geht lt. "top" RES auf rd. 10 GB und VIRT auf über 20 GB. Swap wird scheinbar nicht angetastet. Wenn der "Lokale Crawler" befüllt ist, dann geht der Wert wieder runter auf 16 GB VIRT, RES und Swap bleiben ziemlich gleich.

Für mich stellt sich nun die Frage, wie VIRT, RES und Swap mit YaCy zusammenhängen. Scheinbar ist dies ein wesentlicher Punkt, was die möglichen Kapazitäten seitens YaCy angeht. Lässt sich hier evtl. noch was optimieren?
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon sixcooler » Mo Sep 30, 2013 2:09 pm

Hallo,

ich verstehe nicht ganz: der Rechner hat 32GB, 16GB für JAVA - hast Du noch andere JAVA-Prozesse laufen? oder wie meinst Du das?
15000MB hast Du in YaCy für JAVA in /Performance_p.html eingetragen?

Der Wert in /Performance_p.html ist der entscheidene für die Speichermenge, die YaCy zu verfügung steht.

In Top ist 'Virt' eine Menge Vortuellen Speichers - dieser muss nciht physikalisch vorhanden sein - nur muss der Rechner diese Menge noch adressieren können.
'Res' ist die Menge des tatsächlich genutzt Speichers.
'Swap' ist ein Speicher der auf der Festplatte 'emuliert' wird - dieser wird vom Betreiebsystem möglichst nur für wenig gebrauchtes Zeugs herangezogen wenn der physische Speicher knapp wird, weil es viel langsamer ist.

cu, sixcooler.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Mo Sep 30, 2013 4:35 pm

Hallo,

danke für die Erklärungen.
Es stehen nur 16GB für JAVA zur Verfügung, weil der Provider das sicherheitshalber so begrenzt hat. Der Wert würde sich aber wohl erhöhen lassen auf die vollen 32GB. Würde Sinn machen, oder?

Ja, die 15000MB für JAVA hab ich in /Performance_p.html eingetragen und quasi sicherheitshalber 1GB Puffer gelassen.

Wie hoch kann "VIRT" hinaufgehen, ohne dass es in der Regel zu Problemen kommt?

LG, hotel24
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Fr Okt 04, 2013 6:50 pm

Hallo,

leider funktioniert das Indizieren noch immer nicht. Die Urls werden via Dateien (zu jeweils 100.000 Links) hochgeladen. Zu Beginn ist alles kein Problem. Aber je größer der Index wird, desto mehr Speicher wird seitens YaCy benötigt. Ab 1 rd Mio. Urls wird das ganze instabil. Der Bedarf an RAM Speicher steigt zwar ebenfalls, ist zu dieser Zeit allerdings noch deutlich unter den verfügbaren 15GB. Der virtuelle Speicher liegt allerdings schon um die 50GB und YaCy reagiert nicht mehr. Der Prozess an sich läuft aber noch und wird nicht von der Prozessüberwachung beendet.

Wo liegt hier das Problem, weiß jemand weiter?
1000 Dank!

LG, hotel24
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon David » Di Okt 08, 2013 8:38 pm

Wenn du deinen Yacy mit 100'000 Links gefüttert hast, wartest du aber schon bis diese abgearbeitet sind, oder?
David
 
Beiträge: 170
Registriert: Di Mär 05, 2013 5:35 pm

Re: Hohe CPU Load

Beitragvon hotel24 » Mi Okt 09, 2013 7:45 am

Ja, die jeweils nächsten 100.000 Links werden erst dann hochgeladen, wenn der Crawler fertig ist.

Irgendetwas scheint sich im Hintergrund abzugleichen, zu optimieren, oder dergleichen und mit zunehmender Anzahl an Links staut sich dies mehr und mehr auf, sodass letztendlich YaCy still steht. Wie gesagt, in einer früheren Version (vor ca. einem halben Jahr) war dieses Problem nicht vorhanden. Da waren auch Dateien mit 1 Mio. Links kein Problem.
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm

Re: Hohe CPU Load

Beitragvon Orbiter » Mi Okt 09, 2013 10:25 am

hotel24 hat geschrieben:Im Logfile ist etwas von solr-Optimierung gestanden. Nach rd. 2h war dieser Vorgang dann beendet und die CPU Last wieder ok.

Das ist der postprocessing-job. Er nimmt sich alle hosts der zuletzt beendeten crawls und macht eine Linkstrukturanalyse, wobei der Citation Rank und die Klicktiefe jeder URL jedes Hosts der Crawls bestimmt werden. Diese Werte sollen für das Ranking benutzt werden, funktioniert aber noch nicht so ganz.

Du kannst das ausschalten, indem du in IndexSchema_p.html die Felder clickdepth_i, cr_host_count_i, cr_host_chance_d, cr_host_norm_i und process_sxt deaktivierst.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Hohe CPU Load

Beitragvon hotel24 » Fr Okt 11, 2013 4:05 pm

Hey, super, Danke! Ich glaub, das war das Problem. :)

Ich habe jetzt die Felder deaktiviert. Auch wenn ich die neue Einstellung bisher nur mit "kleinen" Dateien zu jeweils 10.000 Links getestet habe, scheint YaCy nun viel schneller und ressourcenschonender zu laufen und stürzt vor allem nicht mehr ab.

LG, hotel24
hotel24
 
Beiträge: 52
Registriert: Di Jan 22, 2013 1:17 pm


Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron