Windows天蓝色Neo4j虚拟机性能不佳

时间:2014-07-09 07:23:13

标签: javascript azure neo4j

我在windows azure中创建了Neo4j虚拟机。如何提高它的性能?现在需要30-50秒的时间才能进行简单的查询。如何改进呢?有人可以帮忙吗?

我的样本数据模型如下:

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

}

和查询是 var datas = client.Cypher.Match("(user:User)").Where((Users user) => user.email == email && user.password == password).Return(user => user.As<Users>()).Results;

1 个答案:

答案 0 :(得分:1)

我最近遇到了同样的问题。一切都在我的本地机器上运行良好,但是当我尝试使用Azure时,它就像一只三条腿的狗。您正在超时的事实表明您正在爆炸JVM。最后我改变了两件事

  • 不要将Azure VM Depot用于Neo4j for Windows。该版本已经过时了。如果我能记得正确,它的版本是1.8。相反,我按照link中的安装进行了操作。这非常有帮助。我使用了A3 VM(4核,7G RAM),它似乎适合我基地的1M节点。

  • 我在JVM设置方面遇到了很多问题。这是我真正的问题,我怀疑它是你的。根据您的具体情况,请参阅Neo4j documentation。您将需要更新neo4j-community.vmoptions文件,您将在Java VM Tuning下的Neo4j选项中找到该文件。我不是Java人,但我添加的条目是 -Xmx -Xms -Xss -XX:+ UseConcMarkSweepGC 显然,你需要根据这些要求加入你的价值观。对于我的VM,我使用4G作为-Xmx(即-Xmx4G)。请注意,其他论坛主题中的很多人都建议更新conf / neo4j-wrapper.conf文件以更新您的JVM设置。这是误导性的,因为需要更改neo4j-community.vmoptions文件。