You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Mohamed Morsey <mo...@informatik.uni-leipzig.de> on 2011/04/25 10:27:01 UTC

Help needed in benchmarking Jena-TDB

Hi all,

I'm doing a kind of benchmarking on triple stores using DBpedia dataset, 
and I'm using Jena-TDB as one of them.
I've installed Joseki server, and configured its config file to use this 
dataset.
But when I try to benchmark Jena through Joseki, the performance of 
Jena-TDB is very low and too many queries time out.
I've assigned 8GB of memory to Joseki.

I've also tried to query the DBpedia graph directly using 
"TDBFactory.createDataset" and "QueryExecutionFactory.create", but when 
I iterate through the returned "ResultSet" either with simple loop or 
with "ResultSetFormatter.consume", it works only for the first few 
queries and afterwards an Exception of type 
"com.hp.hpl.jena.tdb.base.block.BlockException" is always thrown.

Any help will be appreciated.

-- 
Kind Regards
Mohamed Morsey
Department of Computer Science
University of Leipzig


Re: Help needed in benchmarking Jena-TDB

Posted by Andy Seaborne <an...@epimorphics.com>.

On 25/04/11 09:27, Mohamed Morsey wrote:
> Hi all,
>
> I'm doing a kind of benchmarking on triple stores using DBpedia dataset,
> and I'm using Jena-TDB as one of them.
> I've installed Joseki server, and configured its config file to use this
> dataset.

Versions?

> But when I try to benchmark Jena through Joseki, the performance of
> Jena-TDB is very low and too many queries time out.
> I've assigned 8GB of memory to Joseki.

So you are on a 64 bit machine.

The heapsize does not matter much - TDB is using memory mapped files. 
Set it to 1G of so; more will slow the machine down a bit as Joseki will 
use that much heap eventually, forcing out memory mapped files.

How big is the machine?

Who or what is doing the timeout?

> I've also tried to query the DBpedia graph directly using
> "TDBFactory.createDataset" and "QueryExecutionFactory.create", but when
> I iterate through the returned "ResultSet" either with simple loop or
> with "ResultSetFormatter.consume", it works only for the first few
> queries and afterwards an Exception of type
> "com.hp.hpl.jena.tdb.base.block.BlockException" is always thrown.

That suggests the dataset has been previously corrupted.  (A current 
version of TDB wil have altered you to any concurrent modifications; 
older versions can be corrupted by that as well).

By the way, Fuseki might be user to use for you.

>
> Any help will be appreciated.
>

	Andy