Some more detailled figures that confirm that the overhead comes from the 
'fetch' step.

I ran (this is a subset of 10000 documents of my original document set):
- inject
- generate, fetch, updatedb twice because I have 1 level of folder
- invertlinks
- index

1st inject:  6 sec (~20 file URL are used as seed)
1st generate:  9 sec
1st fetch:  14 sec
1st updatedb:  7 sec

2nd generate:  12 sec
2nd fetch:  3 min 12 sec
2nd updatedb: 8 sec

invertlinks: 6 sec
index: 1 min 40 sec

The equivalent test takes 1 min 30 sec with Lucene 2.1.0.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 25, 2007 7:08 PM
To: [EMAIL PROTECTED]
Subject: RE: RE : Nutch overhead to Lucene (or: why is Nutch 4 times slower 
than Lucene ?)

I have some figure on a smaller set of documents (6 min for Nutch vs 1 min 30 
sec for Lucene):
Seeding/startup takes 40 sec
Fetching takes 3 min 30 sec
Updating linkdb (?) takes 50 sec
Indexing takes 1 min 10 sec

I'm not completely sure because these figures are based on the trace displayed 
on the screen when running the crawl command.

I'll try to get more precise traces using the individual commands (inject, 
generate, fetch, updatedb, invertlinks, index).

It seems that most of the time is indeed spent while fetching.
However, I'm pulling the files from the local file system in both cases (using 
the protocol-file plugin).
As far as I understood, Nutch would have its own local copy after fetching. 
Would that explain such a big difference ? (and would there be a way to avoid 
this copy ?) 

-----Original Message-----
From: Doğacan Güney [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 25, 2007 5:07 PM
To: [EMAIL PROTECTED]
Subject: Re: RE : Nutch overhead to Lucene (or: why is Nutch 4 times slower 
than Lucene ?)

On 7/25/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Fair enough.
> I'm using Lucene 2.1.0 out-of-the-box using demo class IndexFile.
> I think it uses StandardAnalyzer. I don't think there is any parser apart 
> text.
>
> 4H10 is the total duration of the crawl. I'm using the simple 'bin/nutch 
> crawl ...' command.
>
> crawldb is 1.7 MB, linkdb is 2.2 Mb, segments is 38 MB, index and indexes are 
> both 13 MB
> As I said there are 134000 documents in less than 100 folders.
>
> Lucene index folder is 6.7 MB


Thanks for the details. Could you also measure how much time
individual jobs (fetch, parse, updatedb, invertlinks, index) are
taking? It is possible that you are spending most of the time during
fetching (depending on how actually you are fetching the documents:
are you pulling them from a local file system or from the web
server?).

>
> There is probably a lot of extra IO compared too Lucene. But it seems strange 
> that managing the database of links add so much an overhead to doing the 
> actual job of indexing and loading the file in memory.

I am fairly sure that I/O won't be a huge burden for your case
(because sum of the size of all your structures is less than 50 MB). I
was thinking that perhaps you have a huge crawldb (millions of urls)
and you are indexing a small segment (~100-200K url segment). As you
may know, keys are sorted between map and reduce phases (which
actually is not necessary for indexing). But sorting a couple hundred
thousand keys should'nt be a problem.



>
> -----Original Message-----
> From: Doğacan Güney [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 25, 2007 2:44 PM
> To: [EMAIL PROTECTED]
> Subject: Re: RE : Nutch overhead to Lucene (or: why is Nutch 4 times slower 
> than Lucene ?)
>
> On 7/25/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > I didn't find the answer to my question yet but I made some progress:
> > Using a profiler, I saw that a lot of time is spent looking for URL in the 
> > text document (using regular expression). This is something Lucene doesn't 
> > do.
> > However, having recompiled the text parser without this scanning, it is 
> > still as slow.
> > Now it seems that a lot of time is spent in hadoop framework (compared to 
> > say the indexing by Lucene and the loading of documents from the file 
> > system).
> >
> > Would that mean that the overhead of the Hadoop framework is killing the 
> > performance on a single box ?
>
> It is hard to say something without knowing what you are comparing.
>
> 1) How are you indexing pages with lucene (which analyzers, etc?)
>
> 2) Is 4H10M spent only in indexing job or is it the total duration of
> the entire crawl?
>
> 3) How big is your crawldb, linkdb, etc.? Indexer reads a lot of
> different structures to combine data, perhaps I/O takes a lot of
> time...
>
> >
> >
> > -------- Message d'origine--------
> > De: Brette, Marc
> > Date: lun. 23/07/2007 12:08
> > À: [EMAIL PROTECTED]
> > Objet : Nutch overhead to Lucene (or: why is Nutch 4 times slower than 
> > Lucene ?)
> >
> > Hi all,
> > I performed a little test where I index the same set of documents with 
> > Nutch (0.9) and Lucene.
> > This is a set of documents from TREC, 134 000+ short text documents.
> >
> > With Lucene, it took 1H. With Nutch using the file:/ protocol, it took 4H10.
> >
> > Could anyone explain why there is such a difference and is there some way 
> > to eliminate part of this overhead ?
> >
> > Regards,
> > --
> > Marc
> >
> >
> >
> >
> >
>
>
> --
> Doğacan Güney
>


-- 
Doğacan Güney


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Nutch-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nutch-general

Reply via email to