Aktivität des Users entdecken, um Leistung von YaCy zu dross

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Orbiter » Fr Aug 15, 2008 12:31 am

Damit YaCy User-freundlicher wird müssen wir systemübergreifend feststellen können, ob der User gerade was macht. Ich eröffne diesen Thread hier mal um Ideen zu sammeln.

Ursprünglich dachte ich, man müsste die CPU-Aktivität messen und schauen ob die Prozessorlast niedrig ist. Dann ist mir aber aufgefallen dass das nicht unbedingt ein Kriterium sein muss, da ja trotzdem ein User davor sitzen kann und etwas macht, was die CPU nicht auslastet aber wo ein Aufdrehen von YaCy stören würde. Ausserdem glaube ich nicht dass es einfach ist, die CPU-Auslastung testen zu können.

Jetzt fiel mir ein das es ganz andere Kriterien gibt: Schauen ob sich was am Bildschirminhalt ändert (Bildschirmfoto von Java aus machen geht, Differenzen berechnen) oder hören ob es Geräusche gibt (http://www.developer.com/java/other/article.php/1565671 hat ein Beispiel wie man ein Microphon ausliest). Ich glaube das ein komplett geräuschloser Raum auf Inaktivität des Users hindeutet, denn beispielsweise kann man beim Tippen das Tastengeräusch hören.
Ideen?
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon thq » Fr Aug 15, 2008 1:32 am

Ich würde die Tastatur und Maus überwachen. Nur wie macht man das mit Java ?
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Low012 » Fr Aug 15, 2008 8:13 am

Ich könnte mir denken, dass die Überwachung mit Mikrofon oder von Tastatur und Maus bei vielen Usern nicht so gut ankommt, auch wenn YaCy davon nichts nach außen liefert. Allein die Tatsache, dass es gemacht würde und dass man einen Peer dann ganz einfach umprogrammieren könnte, dass diese Daten doch irgendwo hin geliefert werden, würde so manchen wahrscheinlich davon abhalten, YaCy zu installieren.

Da wo mein Computer steht, läuft oft auch Musik, auch wenn ich nichts am Rechner mache. YaCy würde dann also nie annehmen, ich würde nichts tun. Außerdem heißt, nur dass der Benutzer nichts eingibt nicht, dass der Rechner grad nichts tut. Andererseits ist, wer eine 3D-Animation rendert und dabei YaCy laufen lässt, natürlich selbst schuld, wenn sein Rechner für das Rendern länger braucht... ;-)

Ich wäre eher für die "Light-Variante" mit einem Bildschirmschoner. Der kann YaCy benachrichtigen, wenn er aktiv wird. Der Vorteil wäre, dass man bei einem dedizierten Peer ganz darauf verzichten könnte und die "Überwachung" durch den Bildschirmschoner eher akzeptiert werden dürfte, da der ja durch das Betriebssystem (bzw. die grafische Oberfläche) gestartet wird und nicht selbst irgendwas überwacht. Zusätzlich könnte man noch die CPU-Aktivität überwachen und könnte so verhindern, dass YaCy voll aufdreht, wenn zur selben Zeit "Shrek 4" gerendert werden soll.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Orbiter » Fr Aug 15, 2008 5:14 pm

um Maus und Tastatur zu überwachen muss man nur einen Event Listener imlementieren. Ich glaube das ist einfach. Warum haben wir das nicht schon längst mal gemacht?

Weil ich wegen dem Umzug jetzt ein paar Tage nur am Laptop gearbeitet habe ist mir aufgefallen das es stört wenn wegen YaCy der Ventilator angeht. Mit ein bisschen rumexperimentieren kann man YaCy dann so drosseln dass der Ventilator nicht angeht. Ich habe mich dann gefragt ob sich das automatisieren liesse, da man ja von Java ganz sicher nicht (oder etwa doch) kontrollieren kann ob am Rechner ein Ventilator läuft, und so kam ich auf die Lösung mit dem Mikrofon. Da war ich ein wenig Blind gegenüber der einfachen Lösung mit der Tastaturüberwachung.

Dass der User es sicher nicht mag wenn man Screenshots macht oder das Mikro ausliest sehe ich eigentlich auch so. Ist aber immer auch eine Frage was man mit den Daten macht, ich dachte an eine Routine die aus einer Sekunde Ton dann nur die Standardabweichung der Tonamplitude berechnet, und somit ein Maß für die Lautstärke bekommt. Eine Mikro-Routine die als einziges Ergebnis nur eine einzelne Integer liefert kann doch niemanden in seiner Privatsphäre stören, oder? Die Frage ist natürlich immer ob ein Unkundiger einen Code versteht und dann Tatsachenverdrehend behauptet, YaCy hört mit.

Naja, lassen wir das. Aber Maus und Tastatur beobachten ist ja wohl ok?
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Lotus » Fr Aug 15, 2008 7:07 pm

Orbiter hat geschrieben:um Maus und Tastatur zu überwachen muss man nur einen Event Listener imlementieren. Ich glaube das ist einfach. Warum haben wir das nicht schon längst mal gemacht?

Ich kenne Event Listener nur auf Interface-Objekten. Es müsste ein "Superobjekt" geben, das den gesamten Bildschirmbereich erfasst. Dazu muss dann auch der headless-Modus deaktiviert werden welcher in der sh-Datei und der yacy-Klasse gesetzt wird. Für Windows ist das kein Problem, da es immer eine GUI gibt.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Orbiter » Fr Aug 15, 2008 9:17 pm

au Mist, das hatte ich ganz verdrängt. Nach einigem Suchen habe ich keine Lösung ohne AWT gefunden, vielleicht bringt http://sourceforge.net/projects/javacurses/ was, blicke dort aber noch nicht richtig durch. Es scheint keine einfache Möglichkeit zu geben das Keyboard in terminal-Programmen zu nutzen. Somit scheint es einfacher zu sein ein Bildschirmfoto zu machen oder das Mikrofon auszulesen...
Hat noch jemand eine Idee wie man ans Keyboard ran kommt?
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Huppi » Fr Aug 15, 2008 9:58 pm

Macht es nicht Sinn, auf Desktops YaCy grundsätzlich sehr gedrosselt laufen zu lassen (Standardkonfiguration), die der Anwender gezielt "hochschalten" muß, wenn er maximale Leistung haben möchte? Oder halt doch wieder eine Desktop- und eine Server-Distribution.

Nachdem ich meinen Desktop (Windows XP, 3 GHZ P IV) auf 4 GB aufgerüstet habe, läuft dort YaCy mit gedrosselten Einstellung sehr problemlos nebenbei. Ist halt nicht der Supercrawler, aber wir brauchen ja auch einfach ein bißchen mehr Peers im Netzt.
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Orbiter » Fr Aug 15, 2008 11:28 pm

das mit dem 'Hochschalten' ist ein Problem wenn ein DAU über Performance meckert ohne nach einem Boost-Knopf, den wir ja an passender Stelle haben (nach Crawl-Start), zu suchen. Es wäre ja nicht schlecht wenn man wüsste das YaCy sich bei der Arbeit automatisch anpasst.

Ich habe gerade mal gedanklich durchgespielt wie es wäre, wenn YaCy wie Marc anregt, durch ein externes Programm (bsp. Screensaver) runtergetrimmt werden würde: schreiben wir so ein Programm in Java, dann haben wir wieder das gleiche Problem: im awt kann man nur dann Tastendrücke registrieren, wenn das Programm auch den Focus hat. Das hat aber ein Programm das im Hintergrund laufen soll nie. Also geht das auch nicht.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon DanielR » Sa Aug 16, 2008 1:01 am

Orbiter hat geschrieben:Es wäre ja nicht schlecht wenn man wüsste das YaCy sich bei der Arbeit automatisch anpasst.

Automatismen sind immer ein zweischneidiges Schwert. Ja es ist automatisch, aber Nein es macht nicht was "ich" will (also ein spezieller User). Der eine will seinen "Ventilator" nicht hören, der andere wenn er eine DVD guckt nebenbei crawlen... [nur so als Beispiel]
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon thq » Sa Aug 16, 2008 10:20 am

Bin jetzt der Meinung das wir sowas nicht brauchen. YaCy ist eine Suchmaschine und kein kleiner Editor, das sowas das System belastet wenn man Crawl sollte jeden klar sein. Wer mit YaCy auch noch nebenbei arbeiten möchte, sollte YaCy nur als DHT-Peer einsetzen. Da müssen vielleicht die Delay/Busy Werte noch optimiert werden aber deswegen wieder etwas einbauen, ich würde sagen nein, den es gibt wichtigere Baustellen.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Low012 » Mo Aug 18, 2008 8:38 am

Orbiter hat geschrieben:Ich habe gerade mal gedanklich durchgespielt wie es wäre, wenn YaCy wie Marc anregt, durch ein externes Programm (bsp. Screensaver) runtergetrimmt werden würde: schreiben wir so ein Programm in Java, dann haben wir wieder das gleiche Problem: im awt kann man nur dann Tastendrücke registrieren, wenn das Programm auch den Focus hat. Das hat aber ein Programm das im Hintergrund laufen soll nie. Also geht das auch nicht.


Wenn man den Screensaver mit https://jdic.dev.java.net/documentation ... reensaver/ realisieren würde, dann würde er wie jeder andere Screensaver auch ins System eingebunden werden und müsste sich selbst gar nicht um die Überwachung kümmern, weil das ja das Betriebssystem/die grafische Oberfläche macht. Der Screensaver müsste also nur wissen, dass er aufgerufen wurde und das YaCy mitteilen. Außerdem müsste er mitteilen, wann er ausgeschaltet wird. Wenn der Screensaver selbst nicht mitbekommt, wenn er ausgeschaltet wird, müsste YaCy auf regelmäßige Nachrichten warten und beim Ausbleiben der Nachricht wieder in den gedrosselten Modus schalten.

Ich sehe bei einem "echten" Screensaver keine Problem oder übersehe ich was?
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon DanielR » Mo Aug 18, 2008 9:33 am

Low012 hat geschrieben:Ich sehe bei einem "echten" Screensaver keine Problem oder übersehe ich was?

Plattform-Unabhängigkeit ;)
DanielR
 
Beiträge: 395
Registriert: Di Feb 12, 2008 2:22 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Low012 » Mo Aug 18, 2008 10:50 am

Das stimmt, das SaverBeans Screensaver SDK unterstützt nur Windows, Linux und Solaris und außerdem wird es scheinbar nicht mehr gepflegt.

YaCy selbst müsste aber kaum verändert werden, sondern müsste nur über eine URL die Möglichkeit bieten, zwischen verschiedenen Leistungsprofilen zu wechseln. Leider bin ich grad nicht ganz auf dem Laufenden, aber Profile gibt es doch schon, oder? Wenn man nun per URL sozusagen ein Interface hat, ist es egal, wie die Umschaltung vorgenommen wird: Screensaver, cronjob oder sonst ein Programm.

Das umschaltende Programm wäre nicht Teil von YaCy, so dass es extra eingerichtet werden müsste, was ich aber in diesem Fall nicht als Nachteil sehen würde, weil der Benutzer somit weiß, was passiert und dann keine Beschwerden kommen dürften, dass YaCY Spyware sei, die den Benutzer ausforscht. Für Windowsbenutzer könnte man das in den Installer integrieren.

Überwachung und YaCy getrennt zu haben, finde ich schöner, das kommt aber daher, dass ich den UNIX-Ansatz bevorzuge, wo viele kleine, spezialisierte Programme zusammenarbeiten und nicht finde, dass ein Programm alles können muss. Ich weiß, dass das nicht jeder so sieht und könnt mir auch gut vortstellen, dass Leute mit Argumenten kommen wie:
Man kann zwar $Überwachungsprogramm_nach_Wahl installieren, aber von sich aus kann YaCy seinen Ressourcenbedarf nicht automatisch drosseln. Extra noch ein Programm zu installieren ist mir zu umständlich, darum installiere ich YaCy gar nicht.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Orbiter » Mo Aug 18, 2008 11:27 pm

ich hab längere Zeit versucht irgendwas mit jdic und der alpha-Library, die es für Mac dafür gibt (von 2006) ans laufen zu bringen. Hat aber nicht geklappt. Gibt es keine Alternative, die funktioniert und maintained wird? Muss ja nicht zwingend Java sein, aber es muss halt so generisch sein das wir es benutzen können. Optimal wäre ein Screen Saver, der als Bild einfach eine Webseite im Kiosk-Mode darstellt. Diese Webseite könnte dann eine Seite von YaCy sein dessen Aufruf dann für eine Performance-Hochsetzung sorgt. Könnt ihr mal nachforschen was es da so gibt?
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Huppi » Do Aug 21, 2008 4:38 pm

Wer mit YaCy auch noch nebenbei arbeiten möchte, sollte YaCy nur als DHT-Peer einsetzen.

Ich sehe auch keinen so riesengroßen Handlungsbedarf.
Ein Highperformance-Crawler so nebenbei, das geht halt nicht. DHT, Suchanfragen und 2 PPM RemoteCrawls geht auf meiner alten Kiste mit 4GB RAM aber recht gut und fällt beim normalen Arbeiten nicht auf.
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon miTreD » Do Aug 21, 2008 5:48 pm

Huppi hat geschrieben:auf meiner alten Kiste mit 4GB RAM
*hüstel* Das ist immernoch über dem aktuellen Standard :-)
miTreD
 
Beiträge: 1241
Registriert: Mi Jun 27, 2007 11:35 am
Wohnort: /home

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Huppi » Fr Aug 22, 2008 3:30 pm

4GB RAM ist mehr als Standard, aber die Kiste ist 6 Jahre alt, ein Pentium IV.
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon Lotus » Fr Aug 22, 2008 5:00 pm

Ich habe noch letztes Jahr einen PC mit 1GB RAM zusammengestellt. Zum surfen, mailen, musikhören und Briefe schreiben reicht's.
Der Enthusiast hat vermutlich 2GB Standard.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon ribbon » So Aug 24, 2008 7:17 am

kann man nicht mit einer Architektur leben, in der nicht alle crawlen, sondern nur wenige Power-Crawler?
Dann wäre grundsätzlich nur die Teilnahme am DHT wichtig, worüber ja auch URLs reinkommen.
Dann müsste nur die Bandbreite genutzt werden, wenn Sie verfügbar ist. Das kann man am Netlimiter direkt sehen und auch einstellen. ggf. ein manueller Slider den man im Icontray kleiner stellt.
D.h. der Prozess wäre so, dass sich der User manuell freie Bahn verschafft, anstelle dass Yacy schaut, ob es freie Bahn hat und dann automatisch aufdreht. Nicht jeder ist ein Crawler. Muss denn jeder ein Crawler sein?
ribbon
 
Beiträge: 212
Registriert: So Jan 06, 2008 4:23 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon apfelmaennchen » So Aug 24, 2008 10:20 am

Ich habe YaCy momentan auf einem Quad-Core 2,4GHz mit 4GB RAM unter Ubuntu am Laufen. YaCy crawlt den lieben langen Tag, der Index umfasst ca. 10,5 Mio. URLs. Selbst für ein gelegentliches Spielchen schalte ich YaCy nicht ab und hatte nie Probleme mit der Performance (wenn man mal vom Löschen des HTCACHE absieht - dieser Vorgang legt den ganzen Rechner lahm, obwohl YaCy eine eigene recht flotte Platte hat).

Den Crawler kann man ja heute schon manuell "pausieren", direkt auf der Status.html rechts (der kleine rote Punkt)!
Wenn ich also einen etwas schwächeren Rechner habe, dann kann ich den Crawler tagsüber anhalten und nachst laufen lassen.
Den Crawler zeitgesteuert an- und abzustellen könnte man sogar dem autoReCrawl Thread noch beibringen, wenn man zu faul ist das händisch zu tun.
Wer YaCy-Bar (Firefox) installiert hat, kann auch hier per Knopfdruck den Indexierer an- und abstellen.
Wer Zeit und Lust hat, kann sich ja mal an einem Desktop Widget (z.B. Mac OS X Dashboard oder Gnome gDesklets) versuchen - hier könnte man eine Art Minimalsteuerung von YaCy implementieren...

Gruß!
apfelmaennchen
apfelmaennchen
 
Beiträge: 429
Registriert: Mo Aug 20, 2007 7:06 pm

Re: Aktivität des Users entdecken, um Leistung von YaCy zu dross

Beitragvon ribbon » So Aug 24, 2008 3:23 pm

ja meine ich auch, man braucht keinen keylogger oder diese funktion, das spidern zu automatisch frisieren.
Das panel zum steueren wäre in der yacy bar ganz gut...
ribbon
 
Beiträge: 212
Registriert: So Jan 06, 2008 4:23 pm


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron