Deaktivierung der Grafikerstellung ermöglichen

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!

Deaktivierung der Grafikerstellung ermöglichen

Beitragvon flegno » Sa Sep 06, 2014 1:24 pm

Moin,

Ich könnte mir vorstellen, dass die Deaktivierung der Grafikerstellung das Leben vieler Anwender und Entwickler spürbar erleichtern kann. Hier CPU-Auslastung bei der Crawler-Überwachung verringern habe ich dokumentiert, dass die CPU-Auslastung bei der Anzeige von animierten Grafiken bis zu 100% sich erhöhen kann - je nach CPU- Performance. Diese Fehlerberichte
  1. #376: OutOfMemory during indexing of ru.wikipedia.org on a large database of 60 GB
  2. #436: After power failure YaCy Wont start
  3. #457: Webgraph-Mode impede YaCy-execution
deuten für mich daraufhin, dass die Grafikerstellung (Webgraph) serverseitig die Ausführung verlangsamt oder einfach einen Abbruch der YaCy-Ausführung verursachen kann. Ich rege an und würde mich riesig freuen, wenn eine Option für die Deaktivierung der Grafikerstellung in YaCy eingebaut wird. Die Möglichkeit für die Deaktivierung der Grafikerstellung ist allein dadurch hilfreich, weil man damit zuverlässig testen und ggf. Webgraph als Fehlerursache ausschließen kann.
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon Erik_S » Sa Sep 06, 2014 2:46 pm

Hallo,

ich glaube irgendwie nicht das man da auf Seiten von YaCy wirklich viel machen kann. Bei meinen Tests mit Seiten wo eine Grafik (wimre im PNG-Format also keine Animation) permanent immer wieder geladen wird (was nur tut wenn Java-Script im Browser aktiviert ist) entsteht auf dem Server auf dem YaCy läuft keine nennenswerte CPU-Last (auf einem Linux-Server hab ich extra mal mit top nachgesehen während im Browser '/Crawler_p.html' lief und konnte kaum mehr als 3% CPU-Last für den java-Process sehen). Mit '/AccessGrid_p.html' und '/Network.html' gibt es das selbe Phänomen.
Meiner Meinung nach ist das ein Problem der Browser, ich hab das mit aktuellem Firefox und Chromium auf Linux ebenfalls (auf meinem Test-PC mit Multi-Core-CPU hat Firefox sogar mehrere Cores zu je 100% ausgelastet). Was so viel CPU-Last kostet eine PNG-Grafik zu laden, zu dekomprimieren und anzuzeigen kann ich mir wirklich nicht erklären (vor allem da die Grafik wohl nur einmal pro Sekunde neu geladen wird aber Videos mit 25 Bilder/s und deutlich aufwendigerer MPEG4-Komprimierung flüssig laufen und nicht mal annähernd die selbe CPU-Last generieren) aber ich denke darauf sollten die Entwickler der Browser angesetzt werden und nicht die Entwickler von YaCy.

Grüße
Erik
Erik_S
 
Beiträge: 185
Registriert: Sa Aug 30, 2014 11:13 am

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon flegno » Sa Sep 06, 2014 3:43 pm

Erik_S hat geschrieben:ich glaube irgendwie nicht das man da auf Seiten von YaCy wirklich viel machen kann.
[...]
Meiner Meinung nach ist das ein Problem der Browser,
[...]
nicht die Entwickler von YaCy.

Also mit einem simplen Test "Grafikerstellung abschalten" hat man hier eine Chance weiter zu kommen, als "glauben" und "meinen". Es sei denn, jemand kann die von mir verlinkte Fehlerberichte #376, #436 und #457, wo Webgraph im Spiel ist, plausibel erklären. Ich bestehe nicht darauf, dass Webgraph hier ob server- oder clientseitig den Prozessor in die Knie zwingt oder die Anwendung (YaCy) durcheinander bringt, ich betrachte aber als zielführend, wenn man die Chance ergreift mit wenig Aufwand die Fehlerursache weiter einzugrenzen.
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon Orbiter » Sa Sep 06, 2014 4:19 pm

da sind ja 2 Arten von Grafiken: die host-host Vernetzung bei mehr als einem Crawl und die host-interne Vernetzung bei nur einem site-crawl. Ersteres wird vom Server als png berechnet und zwar recht effizient und nur alle fünf Sekunden (oder drei?). Die zweite Variante läuft über ein Servlet, welches die Verlinkung nur als Graph in einem json-Paket liefert und im Browser wird daraus per javascript ein SVG berechnet welches wiederum vom Browser gerendert wird. Das ist tatsächlich stark CPU-lastig, aber nur für den Client, der den Browser auf hat. Das kann natürlich auch der gleiche Rechner sein wie der, wo YaCy läuft. Für YaCy selbst ist das so gut wie gar keine Last, weil das json nur ein mal berechnet wird, egal wie lange die Seite auf ist.

Insgesamt sehe ich das so: das Servlet ist zur Visualisierung da was passiert, da macht es für mich keinen Sinn die Grafiken auszubauen. Es gibt ja auch eine einfache Lösung um die Last von der CPU zu nehmen: Servlet wegklicken.

Ich verstehe den Bedarf an Performance und Tuning und wer will darf hier gerne einen Knopf zum Abstellen einbauen, bei mir ist das in der Prio-Liste eher hinten. Vielleicht gibts ja hier unter den neuen Usern auch neue Enwickler, merge requests nehme ich gerne entgegen.
Orbiter
 
Beiträge: 5787
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon flegno » Sa Sep 06, 2014 5:30 pm

Orbiter hat geschrieben:Ich verstehe den Bedarf an Performance und Tuning und wer will darf hier gerne einen Knopf zum Abstellen einbauen, bei mir ist das in der Prio-Liste eher hinten. Vielleicht gibts ja hier unter den neuen Usern auch neue Enwickler, merge requests nehme ich gerne entgegen.

In den Bugs #376, #436 und #457(#456 Bug#456: Unable to create core: webgraphorg.apache.solr.common.SolrException ) geht es nicht um Performance und Tuning. Wenn ich die Log-Einträge im Bug #456 richtig interpretiere, hat dort eine "Unable to create core: webgraphorg.apache.solr.common.SolrException" dazu geführt, dass YaCy abgestürzt ist. Ähnlich ist es bei den Bugs #376, #436. Und in allen drei Fällen geht es um serverseitige Vorgänge. Um die Auswirkungen auf den Client geht es mir in diesem Thread nicht.

Ich bin auch bereit, meine ziemlich eingerostete Java-Kenntnisse aufzufrischen, und versuchen, mein Vorschlag selbst umzusetzen, ein Paar Hilfestellungen brauche ich aber:
  1. welche Java-Klasse muss ich anfassen?
  2. welche Abhängigkeiten sind zu berücksichtigen?
  3. ...?
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon Erik_S » Sa Sep 06, 2014 6:41 pm

Hallo,

flegno hat geschrieben:... geht es nicht um Performance und Tuning.
Um was geht es Dir dann? In Deinem Ursprungsport geht es nach meinem Verständnis primär um die CPU-Last und die daraus resultierenden Probleme.
Wenn es wirklich um Performance geht bin ich nach wie vor der Meinung das die YaCy-Entwickler da nicht viel tun können.

flegno hat geschrieben:Es sei denn, jemand kann die von mir verlinkte Fehlerberichte #376, #436 und #457, wo Webgraph im Spiel ist, plausibel erklären.
Ich weiß es nicht aber ich könnte mir vorstellen das in der betreffenden Komponente tatsächlich echte Bugs sind. Falls das wirklich zutrifft dann könnten diese Bugs die beobachteten Phänomene plausibel erklären und dann sollten diese Bugs natürlich auch von den verantwortlichen Programmierern beseitigt werden. Ich halte es aber für relativ unwahrscheinlich das eventuelle Bugs in der Webgraph-Library bzw. die Beseitigung dieser Bugs relevante Auswirkungen auf die CPU-Last haben.

Gerade bei der Crawler-Überwachung wird im YaCy-Peer gar keine Graphik erzeugt so das ich vermute das die Webgraph-Library hier auch nicht verwendet wird und demzufolge ein Ausschalter für diese Library zumindest für die Crawler-Überwachung nichts bringen würde.

Grüße
Erik

PS.:
Sorry, das ich nicht selber gesehen hab das nicht alle Graphiken als PNG ausgeliefert werden, die wirklich hohe CPU-Last kommt tatsächlich nur von den Graphiken die per Java-Script und SVG gebildet werden und das erklärt auch den extremen CPU-Durst des Browsers (auf meinem Test-PC immerhin 2 Cores zu je 100% die im Turbo-Modus immerhin 3 GHz erreichen und auch den CPU-Lüfter deutlich hörbar belasten). Die Graphiken die als echte PNGs geliefert werden erzeugen spürbar weniger CPU-Last, wenn auch immer noch deutlich mehr als ich vermuten würde.
Erik_S
 
Beiträge: 185
Registriert: Sa Aug 30, 2014 11:13 am

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon flegno » Sa Sep 06, 2014 8:26 pm

Erik_S hat geschrieben:
flegno hat geschrieben:... geht es nicht um Performance und Tuning.
Um was geht es Dir dann? In Deinem Ursprungsport geht es nach meinem Verständnis primär um die CPU-Last und die daraus resultierenden Probleme.
Mich wundert, wie du auf die Idee gekommen bist, dass in meinem Startposting "geht es nach meinem Verständnis primär um die CPU-Last und die daraus resultierenden Probleme". Die CPU-Last ist zwar die Ursache, aber diese Ursache ist deswegen ernst zu nehmen, da diese immer wieder zu den YaCy-Abstürzen führt. Jede(r) von uns, der/die einen Fehler in der Anwendung erlebt hat, weiss, dass die im Mantis dokumentierte Fehler nur ein Buchteil von tatsächlichen Fehlerereignissen repräsentieren - dies trifft auch auf die Webgraph-Fehlerereignisse zu.

So ein YaCy-Verhalten trifft schwerpunktmäßig Anwender, die mit weniger performanter Hardware als YaCy-Entwickler ausgestattet sind und in vielen Fällen haben sie auch keine Möglichkeit, die Fehlerursache einzugrenzen. So ein YaCy-Verhalten schadet m.E. dem YaCy-Projekt.
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon flegno » Fr Okt 03, 2014 4:48 pm

flegno hat geschrieben:Moin,
Diese Fehlerberichte
  1. #376: OutOfMemory during indexing of ru.wikipedia.org on a large database of 60 GB
  2. #436: After power failure YaCy Wont start
  3. #457: Webgraph-Mode impede YaCy-execution
deuten für mich daraufhin, dass die Grafikerstellung (Webgraph) serverseitig die Ausführung verlangsamt oder einfach einen Abbruch der YaCy-Ausführung verursachen kann.

Das Webgraph-Modul (https://wiki.apache.org/nutch/bin/nutch%20webgraph) wird vermutlich für das Ranking und nicht für die Grafikerstellung eingesetzt.
Zuletzt geändert von flegno am Sa Okt 04, 2014 4:19 am, insgesamt 1-mal geändert.
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm

Re: Deaktivierung der Grafikerstellung ermöglichen

Beitragvon Erik_S » Fr Okt 03, 2014 5:38 pm

Hallo,

wenn es irgendwo im Code einen Bug gibt dann muss der auch gefixt werden, das steht völlig außer Frage, aber es ist nicht zielführend den eventuell fehlerhaften Code nur zu umgehen.
Das Abschalten von GUI-Features nur aus dem Grund weil dort eventuell fehlerhafter Code drin steckt beseitigt doch nicht das Problem, ich bin ausdrücklich gegen eine derartige Vorgehensweise.
Das Abschalten von GUI-Features weil sie zu CPU-intensiv oder einfach uninteressant sind ist etwas völlig anderes, das ist meiner Meinung nach ein berechtigter Wunsch. Wie und wo das Abschalten realisiert wird (ob in YaCy oder im Browser) ist dann eine weiterführende Frage, nachdem geklärt wurde ob dieser Wunsch erfüllt wird.

Grüße
Erik
Erik_S
 
Beiträge: 185
Registriert: Sa Aug 30, 2014 11:13 am


Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron