Andy,
Thank you again!
In my tests:
1 - Starting Fuseki with "exec java *-XX:MaxDirectMemorySize=2147483648
-Xmx4800M* -jar ..." shows only 18 results again and the client stops and
doesn't show any result.
Server log:
...
11:55:59 INFO Fuseki :: [251] Query = SELECT * WHERE { <
http://dbpedia.org/resource/Penn_Hills_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . <
http://dbpedia.org/resource/Penn_Hills_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long }
11:55:59 INFO Fuseki :: [251] OK/select
11:55:59 INFO Fuseki :: [251] 200 OK
11:55:59 INFO Fuseki :: [252] GET
http://fuseki.mooo.com:8080/dbpedia-geo/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23lat%3E+%3Flat+.%0A++++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23long%3E+%3Flong%0A++%7D%0A
11:55:59 INFO Fuseki :: [252] Query = SELECT * WHERE { <
http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . <
http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long }
11:55:59 INFO Fuseki :: [252] OK/select
11:55:59 INFO Fuseki :: [252] 200 OK
2 - Using *S**electChannelConnector* with the suggested configuration: it
seems that the server answers the first request, but the client stops and
doesn't show any result.
Server log:
...
11:22:41 INFO Server :: Jetty server config file =
jetty-config.xml
11:22:42 INFO Server :: Dataset path = /dblp
11:22:42 INFO Server :: Dataset path = /dailymed
11:22:42 INFO Server :: Dataset path = /diseasome
11:22:42 INFO Server :: Dataset path = /drugbank
11:22:42 INFO Server :: Dataset path = /sider
11:22:42 INFO Server :: Dataset path = /researchers
11:22:42 INFO Server :: Dataset path = /books
11:22:42 INFO Server :: Dataset path = /lgd-dbpedia
11:22:42 INFO Server :: Dataset path = /dbpedia-geo
11:22:42 INFO Server :: Fuseki 0.2.1-incubating-SNAPSHOT
11:22:42 INFO Server :: Jetty 7.x.y-SNAPSHOT
11:22:42 INFO Server :: Started 2012/04/13 11:22:42 BRT on
port 8080
11:22:49 INFO Fuseki :: [1] GET
http://fuseki.mooo.com:8080/lgd-dbpedia/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Fs+%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23sameAs%3E+%3Fgeo%0A++++FILTER+regex%28str%28%3Fgeo%29%2C+%22dbpedia%22%29%0A++%7D%0A
11:22:49 INFO Fuseki :: [1] Query = SELECT * WHERE { ?s <
http://www.w3.org/2002/07/owl#sameAs> ?geo FILTER regex(str(?geo),
"dbpedia") }
11:22:49 INFO Fuseki :: [1] OK/select
*jetty_config.xml:*
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
http://www.eclipse.org/jetty/configure.dtd">
<!--
Reference: http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax
http://wiki.eclipse.org/Jetty/Reference/jetty.xml
-->
<Configure id="Fuseki" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="port">8080</Set>
<Set name="maxIdleTime">0</Set>
<!-- All connectors -->
<Set name="requestHeaderSize">65536</Set> <!-- 64*1024 -->
<Set name="requestBufferSize">5242880</Set> <!-- 5*1024*1024 -->
<Set name="responseBufferSize">5242880</Set> <!-- 5*1024*1024 -->
</New>
</Arg>
</Call>
</Configure>
3 - Using *BlockingChannelConnector* with the suggested configuration:
a. First when I tested with -Xmx1200M there was an OutOfMemory exception...
11:43:05 INFO Fuseki :: [166] Query = SELECT * WHERE { <
http://dbpedia.org/resource/Takoma_Park%2C_Maryland> <
http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . <
http://dbpedia.org/resource/Takoma_Park%2C_Maryland> <
http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long }
11:43:05 INFO Fuseki :: [166] OK/select
11:43:06 INFO Fuseki :: [166] 200 OK
11:43:06 INFO Fuseki :: [167] GET
http://fuseki.mooo.com:8080/dbpedia-geo/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRockville%252C_Maryland%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23lat%3E+%3Flat+.%0A++++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRockville%252C_Maryland%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23long%3E+%3Flong%0A++%7D%0A
11:43:06 INFO Fuseki :: [167] Query = SELECT * WHERE { <
http://dbpedia.org/resource/Rockville%2C_Maryland> <
http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . <
http://dbpedia.org/resource/Rockville%2C_Maryland> <
http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long }
11:43:06 INFO Fuseki :: [167] OK/select
11:43:06 WARN Fuseki :: [167] RC = 500 : Java heap space
Exception in thread "qtp547896362-12" java.lang.OutOfMemoryError: GC
overhead limit exceeded
Exception in thread "qtp547896362-125" java.lang.OutOfMemoryError: GC
overhead limit exceeded
Exception in thread "qtp547896362-23" java.lang.OutOfMemoryError: GC
overhead limit exceeded
Exception in thread "qtp547896362-64" java.lang.OutOfMemoryError: GC
overhead limit exceeded
b. When I use "exec java -Xmx2400M -jar ..."
The server gets 20 results. After that the client stops.
*jetty_config.xml:*
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
http://www.eclipse.org/jetty/configure.dtd">
<!--
Reference: http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax
http://wiki.eclipse.org/Jetty/Reference/jetty.xml
-->
<Configure id="Fuseki" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.BlockingChannelConnector">
* <Set name="useDirectBuffers">false</Set>*
<Set name="port">8080</Set>
<!-- All connectors -->
<Set name="requestHeaderSize">65536</Set> <!-- 64*1024 -->
<Set name="requestBufferSize">5242880</Set> <!-- 5*1024*1024 -->
<Set name="responseBufferSize">5242880</Set> <!-- 5*1024*1024 -->
</New>
</Arg>
</Call>
</Configure>
Regards,
Regis.
On Fri, Apr 13, 2012 at 6:24 AM, Paolo Castagna <
[email protected]> wrote:
> Andy Seaborne wrote:
> > When we have encountered this here, we set that 1G (default is 64K or
> > something small) and had no problems. (we=Epimoprhics, here=a
> > production server for a customer).
>
> ...
>
> > "BlockingChannelConnector" does by default and is used by Fuseki by
> > default. <Set name="useDirectBuffer">false</Set> turns use of direct
> > memory off.
> >
> > Any differences in performance are not measurable except under high load.
>
> ...
>
> This is useful to know, thanks for sharing Andy (and for the complete
> jetty-config.xml example). Useful.
>
> Paolo
>