pseudonym
pseudonym

Reputation: 129

rexster http or rexpro taking very long to connect

Posted the same question in gremlin-group and auriliusgraphs group, in absence of any help posting it here.

I'm currently evaluating titan+rexster+cassandra+gremlin, in our use case writes to graph are quite straight forward and will almost always happen via java code using titan buleprints API but reads can be very dynamic and can be from clients running in different languages (java/python) hence thinking of reading via gremlin over rexpro. What I've observed that a lot of time is being spent in connecting to rexster server ~500 ms per request. Currently I've a very small graph running on my macbook (2 CPU, 8 GB, 1600 MHz) with ~3K vertices and ~30K edges, I'm running slightly complex queries involving traversal of two degrees of neighbours but all involving index. If I run around 100 queries in one shot it takes around a second to complete i.e. 10ms per query, but if I run it one by one it takes around 50 seconds i.e. ~500ms per query. If I run multiple parallel clients time increases though not lineraly, for example running 5 parallel clients with same 100 queries takes around 110 second, running 10 parallel clients with same 100 queries takes around 170 second. The results are similar if I use java with RexsterClient, python with python-rexpro (https://github.com/bdeggleston/rexpro-python), running script directly on rexster-console using -f option or via http client. I've seen similar result while running on a single node cluster on CentOS 6.5. Also the performance doesn't vary much with the type of queries, even I simply use g.V still the results are similar. AFAIK rexster uses grizzly so expect the server performance to be much better.

Titan version I'm using is 0.5.3. I've given 1GB Xmx to rexster. Here is configuration of rexster.xml

<http>
    <server-port>8182</server-port>
    <server-host>0.0.0.0</server-host>
    <base-uri>http://localhost</base-uri>
    <web-root>public</web-root>
    <character-set>UTF-8</character-set>
    <enable-jmx>false</enable-jmx>
    <enable-doghouse>true</enable-doghouse>
    <max-post-size>2097152</max-post-size>
    <max-header-size>8192</max-header-size>
    <upload-timeout-millis>30000</upload-timeout-millis>
    <thread-pool>
        <worker>
            <core-size>8</core-size>
            <max-size>8</max-size>
        </worker>
        <kernal>
            <core-size>4</core-size>
            <max-size>4</max-size>
        </kernal>
    </thread-pool>
    <io-strategy>leader-follower</io-strategy>
</http>
<rexpro>
    <server-port>8184</server-port>
    <server-host>0.0.0.0</server-host>
    <session-max-idle>1790000</session-max-idle>
    <session-check-interval>3000000</session-check-interval>
    <connection-max-idle>180000</connection-max-idle>
    <connection-check-interval>3000000</connection-check-interval>
    <read-buffer>262144</read-buffer>
    <enable-jmx>false</enable-jmx>
    <thread-pool>
        <worker>
            <core-size>64</core-size>
            <max-size>64</max-size>
        </worker>
        <kernal>
            <core-size>32</core-size>
            <max-size>32</max-size>
        </kernal>
    </thread-pool>
    <io-strategy>leader-follower</io-strategy>
</rexpro>

What might be wrong?

Thanks & Regards, Apoorva

Upvotes: 0

Views: 116

Answers (0)

Related Questions