Idee: Master-Slave-Modus

Ideen und Vorschläge sind willkommen.

Idee: Master-Slave-Modus

Beitragvon Quix0r » Sa Jun 27, 2009 9:29 pm

Derzeit ist es so, dass unter dem P2P-Modus einfache Rechner sehr schnell an ihr Limit gefahren werden oder nur mit <300 PPM crawlen koennen, da sie sich schlicht gesagt um alles kuemmern muessen.

Ich habe mir mal laenger - und in "Zusammenarbeit" per Chat mit Zipfelmaus Gedanken gemacht, wie man die YaCy-Node im Peer-To-Peer-Modus entlasten koennte, und dennoch Proxy, DHT usw. verwenden kann. Das Ergebnis davon habe ich auf meinen Webserver hochgeladen und unter einer CC-Lizenz gestellt.

Hier der Link dazu:
http://www.mxchange.org/yacy-modi.html

Mein Gedanke dabei war, dass auch kleinere Computer und nicht nur High-End-Maschinen gute Crawls (hohe PPM) erziehlen koennen und wir somit mit einfachen Rechnern (die zugehoerigen Master und Slaves sollten in einem lokalen Netz stehen) das Internet schnell gecrawlt und indexiert bekommen.

Anregungen oder Fragen?

Ich hab halt festgestellt, dass die Crawls den Rechner in die Gnie gezwungen haben, wenn es zu viele sind. Z.B. schafft mein 2,4 GHz AMD 64 "nur" 200 PPM, bei 300PPM ist er schon deutlich staerker belastet und das Admin-Interface ist wieder ewig lahm. Da hatte ich die Idee mit den Master-Slave. Auch Datenbanken wie z.B. MySQL sind damit sehr erfolgreich. (SELECT auf Master, INSERT/UPDATE/DELETE auf die Slaves).

Edit: Version 1.1 ist oben.
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld

Re: Idee: Master-Slave-Modus

Beitragvon Seitenreiter » Mi Jul 29, 2009 8:31 am

Ließe sich eine Art Webclient realisieren sprich also ein Crawler, der im Fenster eines fremden PCs läuft?
Das wäre natürlich saustark weil dann könnte man ja auf Arbeit, in der Bibo,.... sehr schnell der YaCy Instanz zu hause helfen.
Seitenreiter
 
Beiträge: 120
Registriert: Di Jul 28, 2009 2:45 pm

Re: Idee: Master-Slave-Modus

Beitragvon konstantinn » Mi Jul 29, 2009 4:09 pm

Ich glaube das wäre eine feine Sache..... weil ich in meinem Remote crawler liste ca. 13 mio. einträge hab...

die mein peer.... bei ca. 100-150 ppm in wieviel monaten abgearbeitet hätte? :o

Außerdem habe ich meinen peer crawl maßig auf 10 ppm herutergefahren, weil meine Maschine, die nur für yacy tag und nacht läuft einfach "dicht" ist mit ca 12 mio links.
(1,1GB RAM, 1 proz)

Wenn ich das richtig verstanden habe....einen crawler der indexiert aber nur eine ganz kleine db selbst vorhält.... richtig?

Grüße
konstantinn
 
Beiträge: 3
Registriert: Di Jul 28, 2009 1:50 pm

Re: Idee: Master-Slave-Modus

Beitragvon Orbiter » Mi Jul 29, 2009 4:32 pm

ich habe tatsächlich etwas in meiner to-do Liste die das hier (in einem weiteren Schritt) ggf. möglich machen könnte: Ich hätte gerne eine entkopplung des Crawlers vom Indexierer, indem der Crawler nach einem Parsen dann Surrogat-Files schreibt. Der Indexierer liest dann nur noch Surrogate. So könnte man dann einen Peer nur crawlen, und einen anderen nur die Surrogate indexieren lassen. Das ist aber noch ein etwas weiterer Weg.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Idee: Master-Slave-Modus

Beitragvon Quix0r » Mi Jul 29, 2009 5:23 pm

konstantinn hat geschrieben:Außerdem habe ich meinen peer crawl maßig auf 10 ppm herutergefahren, weil meine Maschine, die nur für yacy tag und nacht läuft einfach "dicht" ist mit ca 12 mio links.
(1,1GB RAM, 1 proz)

So sieht es bei mir aehnlich aus: 4 GB RAM und 1 CPU. Sobald der crawlt ist der ebenfalls "dicht" mit Crawlen. :(
konstantinn hat geschrieben:Wenn ich das richtig verstanden habe....einen crawler der indexiert aber nur eine ganz kleine db selbst vorhält.... richtig?

Nicht ganz. Der Master verteilt die Crawl-Auftrage innerhalb des Master-Slave-Verbundes (nicht das gesamte Freeworld-Netz, sondern nur lokales Netz) und gibt sich nach Aussen als ein ganz gewoehnlicher Peer im P2P-Modus aus. Remote-Crawls kann er somit auch annehmen und diese - nach Abgleich mit der Blacklist - an die im lokalen Netz (LAN) befindlichen Slaves verteilen, die das Crawlen uebernehmen und bei erledigter Arbeit dem Master die DHT zukommen lassen. Somit weiss der Master, welcher Slave welche URLs und RWIs bereit haelt.

Ist einfach eine IO-Lastenverteilung von einer physikalischen Maschine (die sonst alles tun muss) auf mehrere und nennt sich Cluster. :) Nicht aber bitte mit dem bestehenden "Robinson-Cluster" verwechseln, das ist etwas anderes. Dort gibt es nicht die Moeglichkeiten, die bei meiner Idee der Master hat, wie das Annehmen von Remote-Crawls und DHT. :)
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld


Zurück zu Wunschliste

Wer ist online?

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

cron