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 <
castagna.li...@googlemail.com> 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
>

Reply via email to