Hi Hugh,
I tried to run both queries (first surrounded by the 'explain' command)
and I've got the following error message:
The statement execution did not return a result set.
SQLState: 37000
Message: SQ074: Line 1: syntax error at 'rdf' before ':'
I also tried without the 'explain' command and I've got:
SQLState: 22023
Message: SR007: Function trim needs a string or NULL as argument 1, not an arg
of type ARRAY_OF_POINTER (193)
Moreover, I tried with the advanced tab and selecting the explain option
and I've got:
SQLState: 22023
Message: SR007: Function trim needs a string or NULL as argument 1, not an arg
of type ARRAY_OF_POINTER (193)
From the command line (isql):
SQL> explain('prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?ontology
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
where{
?term rdf:type ?ontology.
}
order by ?ontology ')Type the rest of statement, end with a semicolon
(;)> Type the rest of statement, end with a semicolon (;)> Type the rest
of statement, end with a semicolon (;)> Type the rest of statement, end
with a semicolon (;)> Type the rest of statement, end with a semicolon
(;)> Type the rest of statement, end with a semicolon (;)> ;
*** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1: syntax
error at 'rdf' before ':'
in lines 1-7 of Top-Level:
#line 1 "(console)"
explain('prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?ontology
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
where{
?term rdf:type ?ontology.
}
order by ?ontology ');
Am I missing something?
thanks,
Erick
Hugh Williams wrote:
Hi Eric,
We have been able to see the hangs you report with the sample queries
below.
Can you please provide the output of running the Virtuoso explain
command against these 2 queries and provide this output. The explain
command provides more details on the query execution plan with
Virtuoso as detailed at:
http://docs.openlinksw.com/virtuoso/fn_explain.html#(NULL
<http://docs.openlinksw.com/virtuoso/fn_explain.html#%28NULL>)
Note you will have to use the Virtuoso isql command or
Conductor Interactive SQL UI to execute the commands which will be as
follows:
example 1:
explain('prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>
prefix obo:<http://www.semantic-systems-biology.org/ontology/rdf/OBO#>
prefix goa:<http://www.semantic-systems-biology.org/ontology/rdf/GOA#>
prefix uni:<http://www.semantic-systems-biology.org/ontology/rdf/UNIPROT#>
prefix ncbi:<http://www.semantic-systems-biology.org/ontology/rdf/NCBI#>
select ?protein ?predicate ?GO_term ?GOA_association
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
from <http://www.semantic-systems-biology.org/ontology/rdf/GOA>
where{
?prot rdf:type goa:prot. ?prot obo:has_source ncbi:NCBI_471821.
?prot rdfs:label ?protein.
?Statement rdf:subject ?prot.
?Statement rdf:predicate obo:located_in.
obo:located_in rdfs:label ?predicate.
?Statement rdf:object obo:GO_0005737.
obo:GO_0005737 rdfs:label ?GO_term.
?Statement goa:supported_by ?GOA_association.
?GOA_association obo:has_evidence_code ?eco_id.
}')
example 2:
explain('prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?ontology
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
where{
?term rdf:type ?ontology.
}
order by ?ontology ')
Best Regards
Hugh Williams
Professional Services
OpenLink Software
On 8 Jun 2008, at 09:29, Erick Antezana wrote:
Hi Hugh,
sorry, I forgot to add a couple of examples. here are some examples
that can be tested from:
http://www.cellcycleontology.org/query/38-interactive-query/82-sparql-kb
example 1:
prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>
prefix obo:<http://www.semantic-systems-biology.org/ontology/rdf/OBO#>
prefix goa:<http://www.semantic-systems-biology.org/ontology/rdf/GOA#>
prefix
uni:<http://www.semantic-systems-biology.org/ontology/rdf/UNIPROT#>
prefix ncbi:<http://www.semantic-systems-biology.org/ontology/rdf/NCBI#>
select ?protein ?predicate ?GO_term ?GOA_association
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
from <http://www.semantic-systems-biology.org/ontology/rdf/GOA>
where{
?prot rdf:type goa:prot. ?prot obo:has_source ncbi:NCBI_471821.
?prot rdfs:label ?protein.
?Statement rdf:subject ?prot.
?Statement rdf:predicate obo:located_in.
obo:located_in rdfs:label ?predicate.
?Statement rdf:object obo:GO_0005737.
obo:GO_0005737 rdfs:label ?GO_term.
?Statement goa:supported_by ?GOA_association.
?GOA_association obo:has_evidence_code ?eco_id.
}
example 2:
prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?ontology
from <http://www.semantic-systems-biology.org/ontology/rdf/OBO>
where{
?term rdf:type ?ontology.
}
order by ?ontology
Since I am constantly testing it, changing the config parameters and
adding more data, the endpoint may be down during the night (CET) duo
to the entire rebuild of the system (it is build automatically from
scratch taking the latest data sources...).
Thanks,
Erick
Hugh Williams wrote:
Hi Erick,
You have not provided some sample queries for which these
performance issues are being encountered as requested in point 3 ?
Best Regards
Hugh Williams
OpenLink Software
On 6 Jun 2008, at 14:09, Erick Antezana wrote:
Hi Hugh,
here you are the 'top' output:
top - 14:57:25 up 13 days, 22:52, 7 users, load average: 2.57,
1.74, 1.31
Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie
Cpu(s): 68.0% us, 1.7% sy, 0.0% ni, 29.8% id, 0.5% wa, 0.0%
hi, 0.0% si
Mem: 15901500k total, 15855120k used, 46380k free, 40364k
buffers
Swap: 4096564k total, 1016240k used, 3080324k free, 2951672k cached
PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND
16990 root 16 0 279 378:08.04 75.7
12.0g 11g 8256 S virtuoso-t 1 root 16
0 0 0:00.66 0.0 4756 420 388 S init
2 root RT 0 0 0:00.21 0.0 0 0 0 S
migration/0 3 root 34 19 0 0:18.19
0.0 0 0 0 S ksoftirqd/0 4 root
RT 0 0 0:00.20 0.0 0 0 0 S migration/1
5 root 34 19 0 0:00.88 0.0 0 0 0 S
ksoftirqd/1 6 root RT 0 0 0:00.16
0.0 0 0 0 S migration/2 7 root
34 19 0 0:01.02 0.0 0 0 0 S ksoftirqd/2
8 root RT 0 0 0:00.10 0.0 0 0 0 S
migration/3 9 root 34 19 0 0:15.42
0.0 0 0 0 S ksoftirqd/3 10 root
5 -10 0 0:00.00 0.0 0 0 0 S events/0
11 root 5 -10 0 0:00.01 0.0 0 0 0 S
events/1 12 root 5 -10 0 0:00.04
0.0 0 0 0 S events/2 13 root
5 -10 0 0:00.00 0.0 0 0 0 S events/3
14 root 5 -10 0 0:00.00 0.0 0 0 0 S
khelper 15 root 15 -10 0 0:00.00
0.0 0 0 0 S kacpid 64 root
5 -10 0 0:00.00 0.0 0 0 0 S kblockd/0
65 root 5 -10 0 0:00.00 0.0 0 0 0 S
kblockd/1 66 root 5 -10 0 0:00.00
0.0 0 0 0 S kblockd/2 67 root
5 -10 0 0:00.00 0.0 0 0 0 S kblockd/3
68 root 15 0 0 0:00.00 0.0 0 0 0 S
khubd 97 root 15 0 0 1:09.28
0.0 0 0 0 S kswapd1 98 root
15 0 0 1:27.16 0.0 0 0 0 S kswapd0
99 root 5 -10 0 0:00.00 0.0 0 0 0 S aio/0
the machine has 2 processors, more info:
$ uname -a
Linux crunch 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:58:43 EDT
2008 x86_64 x86_64 x86_64 GNU/Linux
regarding the FDsPerFile param, I deleted the entire db, so I began
from scratch setting that param to 8 (initally I tried out 32, and
i got a similar error as reported then I tried out 16, and the same
error, then 8 and it worked). Other params:
[Parameters]
ServerPort = 1112
DisableUnixSocket = 1
ServerThreads = 50
CheckpointInterval = 6000
O_DIRECT = 1
NumberOfBuffers = 1250000
MaxDirtyBuffers = 1000000
CaseMode = 2
MaxStaticCursorRows = 50000
CheckpointAuditTrail = 0
AllowOSCalls = 0
SchedulerInterval = 10
DirsAllowed = .,
/virtuoso/data/virtuoso-opensource-full/share/virtuoso/vad,
/virtuoso/data/rdf, /virtuoso/data/rdf_tc, /virtuoso/db/left,
/virtuoso/db/right
TransactionAfterImageLimit = 5000000000
ThreadCleanupInterval = 0
ThreadThreshold = 10
ResourcesCleanupInterval = 0
FreeTextBatchSize = 10000000
SingleCPU = 0
VADInstallDir =
/virtuoso/data/virtuoso-opensource-full/share/virtuoso/vad/
PrefixResultNames = 0
;TraceOn = errors, compile, exec, transact,
sql_send, user_log, failed_log
TraceOn = errors
;MaxMemPoolSize = 0
FDsPerFile = 8
[Client]
SQL_PREFETCH_ROWS = 1000
SQL_PREFETCH_BYTES = 60000
SQL_QUERY_TIMEOUT = 0
SQL_TXN_TIMEOUT = 0
[VDB]
ArrayOptimization = 0
NumArrayParameters = 10
VDBDisconnectTimeout = 1000
KeepConnectionOnFixedThread = 0
[Replication]
ServerName = crunch
ServerEnable = 1
QueueMax = 50000
..
ErrorLogLevel = 7
FileExtend = 100000
MaxCheckpointRemap = 3000000
...
thanks,
erick
Hugh Williams wrote:
Hi Erick,
Can you please provide the following:
1. The output of running the top command on the machine at the
time you are running these problem queries such that we can see
the CPU, I/O etc consumption
2. How many hard disks and CPUs are in the machine currently
3. Some of these problem queries for analysis
Your FDsPerFile has too many stripes most probably, resulting in
the process running out of descriptors. We would suggest you use
only one stripe per physical disk.
Best Regards
Hugh Williams
Professional Services
OpenLink Software
http://www.openlinksw.com
On 5 Jun 2008, at 11:33, Erick Antezana wrote:
Hello,
could anybody point out some doc/examples for doing some
performance tuning?
I have been playing (in a linux box with 16GB RAM, 1 CPU, ...)
with some
params (numberofbuffers, maxcheckpointremap, O_DIRECT, etc) as
indicated in:
http://virtuoso.openlinksw.com/wiki/main/Main/VOSScale
http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html
however, our system is still pretty slow or even no responsive
:-( while
launching some SPARQL queries...
on the other hand, we're planing on buying a new server. Could
anybody
recommend some specs (RAM, CPU, disks, ...) so that it could
"steadily/reasonably" cope with huge amounts of data (about 160GB
in RDF
files). Any advice for the hard disks spec (type: SCSI, ...; IO rate;
...)? config (striping, ...)?
thanks in advance!
Erick
p.s. while setting the param FDsPerFile to 16 for isntance, I've
got an
error while re-starting virtuoso:
12:15:54 Cannot open stripe on /virtuoso/db/right/db-seg32-2.db (24)
12:15:54 Server exiting
should that param be set the first time the system is started (due to
the striping?)?
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
<mailto:Virtuoso-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/virtuoso-users
--
==================================================================
Erick Antezana http://www.cellcycleontology.org
PhD student
Tel:+32 (0)9 331 38 24 fax:+32 (0)9 3313809
VIB Department of Plant Systems Biology, Ghent University
Technologiepark 927, 9052 Gent, BELGIUM
er...@psb.ugent.be <mailto:er...@psb.ugent.be>
http://www.psb.ugent.be/~erant
==================================================================
--
==================================================================
Erick Antezana http://www.cellcycleontology.org
PhD student
Tel:+32 (0)9 331 38 24 fax:+32 (0)9 3313809
VIB Department of Plant Systems Biology, Ghent University
Technologiepark 927, 9052 Gent, BELGIUM
er...@psb.ugent.be http://www.psb.ugent.be/~erant
==================================================================