I have created Neo4j virtual machine in windows azure.How to increase the performance of it?Now it takes time in 30-50 seconds range for simple query also.How to improve this?Any one can please help?
My sample data model is given below
public class Users
{
public string email
{
get;
set;
}
public string password
{
get;
set;
}
public string firstname
{
get;
set;
}
public string lastname
{
get;
set;
}
public string dob
{
get;
set;
}
public string gender
{
get;
set;
}
public string id
{
get;
set;
}
public string facebookId
{
get;
set;
}
public string googleId
{
get;
set;
}
public string profile_pic
{
get;
set;
}
public Guid Recoverid
{
get;
set;
}
public Guid Emailverification
{
get;
set;
}
public string HighSchool
{
get;
set;
}
public string College
{
get;
set;
}
public string Employer
{
get;
set;
}
public string Currentcity
{
get;
set;
}
public string HomeTown
{
get;
set;
}
public bool registerationstatus
{
get;
set;
}
public string Language
{
get;
set;
}
public string Username
{
get;
set;
}
public string FullName
{
get;
set;
}
public string joinDate
{
get;
set;
}
public string primeryrecoverymail
{
get;
set;
}
public string secondaryrecoverymail
{
get;
set;
}
public string loginnotification
{
get;
set;
}
public string Mobileno1
{
get;
set;
}
public string Mobileno2
{
get;
set;
}
public string FuturePostSettings
{
get;
set;
}
public string FriendrequestSettings
{
get;
set;
}
public string Contactmesettings
{
get;
set;
}
public string Lookmebymail
{
get;
set;
}
public string LookmebyPhone
{
get;
set;
}
public string isvisible
{
get;
set;
}
public string userstatus
{
get;
set;
}
#endregion
}
and query is
var datas = client.Cypher.Match("(user:User)").Where((Users user) => user.email == email && user.password == password).Return(user => user.As<Users>()).Results;
I recently had the same type of problem. Everything was working well on my local machine but when I tried with Azure it ran like a three legged dog. The fact that you are getting time-outs indicates that you are exploding the JVM. In the end I changed two things
Don't use the Azure VM Depot for the Neo4j for Windows. The version is very much out of date. It's version 1.8 if I can remember correctly. Instead, I followed the installation in this link. It was very helpful. I used a A3 VM (4 cores, 7G RAM) which seems appropriate for the 1M nodes in my base.
I had a lot of problems with the JVM settings. This was my real problem, and I suspect that it's yours. Refer to the Neo4j documentation for your situation. You will need to update the neo4j-community.vmoptions file which you will locate in the Neo4j options under Java VM Tuning. I'm not a Java person, but the entries that I added were -Xmx -Xms -Xss -XX:+UseConcMarkSweepGC Obviously you will need to put in your values against these seetings. For my VM I used 4G for the -Xmx (i.e. -Xmx4G). Note that a lot of people in other forum threads recommend updating the conf/neo4j-wrapper.conf file to update your JVM settings. This was misleading as it was the neo4j-community.vmoptions file that need to be changed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With