Performance Issue - Jena-Fuseki

698 views
Skip to first unread message

Kiran Krishna

unread,
Feb 5, 2015, 2:48:54 AM2/5/15
to eas...@googlegroups.com
Hi Friends,

I 'm facing performance bottle-neck, with Fuseki-TDB sparql queries.
When I deployed Fuseki-TDB in 125 GB, 12 core Server (with heap configuration 8 GB), I'm getting poor query response time compared to the same data set deployed in desktop machine with 16 GB RAM and 4 core processor (with heap configuration 2GB).

I'm using fuseki1.0.1.
Is there any standard for optimizing fuseki performance.
How much amount of RAM should I reserve for Fuseki?
Kindly help.

Thanks & Regards,
Kiran  

Osma Suominen

unread,
Feb 5, 2015, 2:53:14 AM2/5/15
to eas...@googlegroups.com
Hi Kiran!

You might be better of asking on the Apache Jena users list.

You didn't say what kind of data you have (and how much), or what type
of queries you run. An example query would be essential to answering
questions about performance.

Here are some tips that I wrote on tuning Fuseki performance:
https://github.com/NatLibFi/Skosmos/wiki/FusekiTuning

Fuseki 1.1.1 is the newest released version, you probably should upgrade
to that or even try a snapshot release.

Hope this helps!

-Osma

--
Osma Suominen
D.Sc. (Tech), Information Systems Specialist
National Library of Finland
P.O. Box 26 (Teollisuuskatu 23)
00014 HELSINGIN YLIOPISTO
Tel. +358 50 3199529
osma.s...@helsinki.fi
http://www.nationallibrary.fi

Kiran Krishna

unread,
Feb 5, 2015, 3:51:28 AM2/5/15
to eas...@googlegroups.com
PFB a sample Sparql
-------------------------------

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://global.ul.com/ul-domain-ontology/2014/04/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT  ?assetType ?industry ?assetSubgroup ?assetId ?fileNumber ?CCN ?issueDate ?revisedDate ?volume ?section ?sourcingType ?productName ?insertDate ?assetGroup  ?customer ?customerAddress ?factory ?manufacturerAddress ?manufacturer ?certificateName ?application
WHERE 
{ ?product rdf:type ?entity . ?product :attribCompositeId ?assetId FILTER ( str(?assetId) = "Motor_e691c5fd-a4b2-4572-9f83-0f2802b2287c")  ?product :attribIsLatest ?attribIsLatest .FILTER regex(?attribIsLatest, "Y", "i") ?product :attribFileNumber ?fileNumber .    ?product :attribCCN ?CCN .    ?product :attribIndustry ?industry .    ?product :attribProductType ?assetType .    ?product :attribProductSubGroup ?assetSubgroup .    ?product :hasReport ?report . ?report :attribIssueDate ?issueDate .    ?report :attribReviseDates ?revisedDate .    ?report :attribFileNumberVolume ?volume .    ?report :attribFileNumberSection ?section .    ?product :attribSourcingType ?sourcingType . ?product :attribName ?productName .    ?product :attribInsertDate ?insertDate .    ?product :attribProductGroup ?assetGroup .    ?product :associatedToCustomer ?assoToCustomer .    ?assoToCustomer :attribName ?customer . ?assoToCustomer :attribAddress ?customerAddress .    ?product :hasModel ?model.     ?model :attribApplication ?application.              ?product :manufacturedBy ?manufacture .    ?manufacture :attribFactory ?factory .    ?manufacture :attribAddress ?manufacturerAddress .    ?manufacture :attribName ?manufacturer . ?product :hasCertificationType ?certificationType .    ?certificationType :attribCertificateName ?certificateName.  }
 
Thanks & Regards,
Kiran  

Kiran Krishna

unread,
Feb 5, 2015, 3:54:09 AM2/5/15
to eas...@googlegroups.com
Thank you, Osma.
I will go through the link.

Regards,
Kiran

Osma Suominen

unread,
Feb 5, 2015, 5:06:37 AM2/5/15
to eas...@googlegroups.com
Hi Kiran!

Please post this to the Jena users list. You will get much better help
there.

Based on a very quick look of the query, I think the FILTER expressions
may be a problem as they are evaluated last, possibly on a very large
set of potential answers. If you can replace those with plain triple
patterns, that could help a lot. For example

?product :attribCompositeId ?assetId
FILTER ( str(?assetId) = "Motor_e691c5fd-a4b2-4572-9f83-0f2802b2287c")

could perhaps be written simply as

?product :attribCompositeId "Motor_e691c5fd-a4b2-4572-9f83-0f2802b2287c"

assuming that the value is a plain string literal.

-Osma
> --
> You received this message because you are subscribed to the Google
> Groups "EasyRdf Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to easyrdf+u...@googlegroups.com
> <mailto:easyrdf+u...@googlegroups.com>.
> To post to this group, send email to eas...@googlegroups.com
> <mailto:eas...@googlegroups.com>.
> Visit this group at http://groups.google.com/group/easyrdf.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages