Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7418125
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T07:49:38+00:00 2026-05-29T07:49:38+00:00

In our stack, we use neo4j and have encountered classical performance issues : application

  • 0

In our stack, we use neo4j and have encountered classical performance issues : application is slow as hell as soon as it requires data from neo4j.

Listening only my courage (pun intended) I started JVisualVM and done a profiling of application.

This application is hosted in a JavaEE server (Glassfish) and uses a quasi-semantic stack made of Empire-RDF, Blueprints, and neo4j. Access to neo4j is offered by JCA neo4j-connector.

Like this screenshot suggests, there is strong evidence that there is a bottleneck in neo4j data retrieval.

Interesting fragments of a profiling session

My question is double, but simple.

  1. Is that performance level normal ? (I guess no)
  2. What can I do to improve those performances ?

EDIT here are some informations regarding the test procdure that should enlighten both of you.

My graph structure is, to me, unknown : as I’m using Empire-RDF on top of Blueprints/Sesame/Neo4J, I only know the Java objects I’m manipulating, which are ten intereconnected classes, and they unfortunatly are at the very core of our buisness, so I can’t disclose them.

Consider, for the sake of this example, they create a tree of visual elements linked to entities representing URI targets.

I have a maven test that runs a combination of read/write operation (I will say there is between 20 and 50 JPA operations involved). This maven test runs in 300 seconds.

On a lower level,

  • application is run on Windows-7 and Mac OS X 10.6, with various sub-versions of Java 1.6.
  • Application is hosted on a Glassfish 3.1.1
  • neo4j DB is version 1.5, accessed through neo4j-connector for JCA (there is no customization made to default settings).
  • Sesame is version 2.6.0
  • blueprints is version 1.1
  • Empire-RDF is version 0.7

As a last world, diving into jVisualVM sampler reveals most of the application time is spent in those NodeManager#getNodeForProxy calls.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T07:49:39+00:00Added an answer on May 29, 2026 at 7:49 am

    OK, time to put an end to that joke, and thanks to both Mike who helped me.

    Performance problem was not neo4J 1.5 fault, nor Empire, neither Blueprints one, but rather my poor understanding of my own persistence stack.

    Do you remember I said used neo4j instance was obtained from a JCA connector ?

    Well, I used version 0.2 of that connector, which worked with neo4j 1.4 … Yes, 1.4 !

    Fortunatly, I already had prepared an upgrade of that version, allowing me to send parameters directly to neo4j (like setting cache_type). So I finished that upgrade, bundled it, deployed it to my local repository, integrated it into my domain, tested, and … success ! a x20 improvement of performances !

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're developing a data heavy modular web application stack with java but have little
Our application is interfacing with a lot of web services these days. We have
we are running java6/hibernate/c3p0/postgresql stack. Our JDBC Driver is 8.4-701.jdbc3 I have a few
We have an in-house webapp running for internal use over the intranet for our
We have a .NET application which our customers consider too large for mass deployment
We're starting to make heavier use of GWT in our projects, and the performance
At my workplace, we have lab machines that we use to do our testing.
We are currently embarking on replacing the ADO.NET stack in our C# application with
We have been trying to use virtual machines for build servers. Our build servers
I have created a web application in ASP.Net 4.0 framework and use LinqtoSQL for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.