Profiling und Performance verbessern

Ereignisse, Vorschläge und Aktionen

Profiling und Performance verbessern

Beitragvon Orbiter » Mi Jan 07, 2009 10:44 pm

eines meiner liebsten Spielzeuge beim Performance-Profiling ist das Interface zu der 'Multiple Dump Statistic'.
Wers noch nicht kennt: das zeigt einem ziemlich genau, was in YaCy gerade schön Performance verbrät.

Server Log -> Thread Dump -> Multiple Dump Statistic

Das macht 1000 mal einen Thread dump, und zählt für jeden Einzeldump mit, wie oft er vorkommt. Dann wird das Ergebnis in Kategorien geordnet und in absteigender Reihenfolge angezeigt. Das heisst: ganz oben stehen die 'Schuldigen' beim Verbraten von Performance. Relevant ist dabei eher die Kategorie RUNNABLE.

Hier kann jeder mal gucken, ob er denn nicht was sieht was man verbessern könnte. Das benutze ich jetzt schon eine Zeit lang, und es ist richtig schön wenn man eine Methode sieht, an der man eine Vorgehensweise verbessern kann, und danach die Methode in der Statistik nicht mehr auftaucht (bzw. weiter unten) weil sie so viel schneller geworden ist.

Um zu testen bringt man YaCy in einen Zustand, so das es was macht, bsp. Crawlen, Suchen, Cleaner, egal alles, was ein Langläufer ist. Dann die Statistic anzeigen und man weiss wo es klemmt.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Profiling und Performance verbessern

Beitragvon lisema » Mi Jan 07, 2009 11:20 pm

Super :)
Was vielleicht da auch schön wäre, ist eine Statistik über viele verschiedene Settings.
Was bringt wirklich wie viel?

Dafür könnten wir einmal im März einen 12 Stunden Test machen. In dem an verschiedenen Stellen immer wieder Dumps gezogen werden. Dafür würde ich 30 C2Ds und 15 Quad Xeon Maschinen einfach mal starten und Remote könnten dann experimentiert werden. So würden fix viele Daten entstehen auf vergleichbaren Maschinen. Sowie wäre das Internet kein limitierender Faktor.

Gibt es Interessenten für das Spielen und Settings auswerten?
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: Profiling und Performance verbessern

Beitragvon Huppi » Do Jan 08, 2009 5:43 pm

Ja, ich melde mal Interesse an. Spannende Sache!
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: Profiling und Performance verbessern

Beitragvon Phiber » Do Jan 08, 2009 11:39 pm

Hum also als ich das ganze vor 2 Tagen gelesen habe fand ich das ja super, eine gute Sache um rauszukriegen wie man seinen Peer verbessern kann (nicht unbedingt schneller höher, vielleicht auch nur effizienter).

Bin dann aber nicht draus gekommen und jetzt muss ich eben doch nochmals nachfragen: Was kann man denn aus dem nun rauslesen wenn da steht?

Code: Alles auswählen
YaCy Version: 0.618/05455
Total Memory = 1040515072
Used  Memory = 665683744
Free  Memory = 374831328


THREADS WITH STATES: BLOCKED


THREADS WITH STATES: RUNNABLE

Occurrences: 48000
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at java.io.PushbackInputStream.read(Unknown Source)
at de.anomic.server.serverCore.receive(serverCore.java:863)
at de.anomic.server.serverCore$Session.readLine(serverCore.java:572)
at de.anomic.server.serverCore$Session.listen(serverCore.java:694)
at de.anomic.server.serverCore$Session.run(serverCore.java:626)


Die Programmierer müssten das sicher ganz flink beantworten können, aber ohne Grundkenntnisse vom Aufbau von YaCy...
Phiber
 
Beiträge: 96
Registriert: So Okt 05, 2008 9:04 pm

Re: Profiling und Performance verbessern

Beitragvon Orbiter » Fr Jan 09, 2009 1:17 am

das Ding ist unkritisch, ist nur eine offene server socket. Du musst davon 48 haben, was schon ein wenig hoch ist. hm.
Die interessanten Dinge kommen meinst kurz unterhalb der 1000 occurrences.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Mitmachen

Wer ist online?

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