繁体   English   中英

Windows Azure上的Neo4j性能

[英]Neo4j performance on Windows Azure

首先,对我在该领域不了解的知识表示歉意,我的热情是开发新的有用的应用程序而不配置云服务器:)花了整整一天的时间来找出在Windows上运行Neo4j服务器的最佳配置,但没有成功:(我正在使用这篇出色的博客文章中的方法将简单节点写入空数据库:

http://maxdemarzi.com/2013/02/14/neo4j-and-gatling-sitting-in-a-tree-performance-test-ing/

模拟40个用户,每个用户发布250个新节点,则在不同的计算机上获得以下结果(糟糕吗?):

Windows Azure虚拟机A1 1,75GB 1个CPU内核:41 req / s 814 ms平均响应时间

Windows Azure虚拟机A2 3,50GB 2个CPU内核:41 req / s 971 ms平均响应时间

Windows本地计算机8GB Intel B950 2.10GHz:181 req / s 175 ms平均响应时间

Windows本地计算机4GB Intel i7-3537U 2.00GHz:140 req / s 280 ms平均响应时间

因此,这引起了一些明显的问题。 为什么A1和A2具有相似的结果? 为什么我的本地4GB机器的性能要比A2好得多?

我尝试将wrapper.java.initmemory和wrapper.java.maxmemory更改为1024、2048和3072,而没有任何重大的性能更改。 我也试图调整内存映射的缓冲区大小,但没有成功。 我是在Windows上运行吗? 使用这些机器我是否应该可以获得更好的结果? 真的不知道从哪里开始,任何建议将不胜感激!

关于您可以期待的问题:

对于仅创建节点(尽管每个创建都是单个事务),如果将cypher与参数一起使用,则应该可以轻松地远程处理1k至2k请求/秒。

如果批量处理,您应该可以轻松获得更多,这是我最近进行的一项测试。

JSON数据生成器: https : //dl.dropboxusercontent.com/u/14493611/cypher.rb

执行每个1000个节点和4个并发用户的1000个请求。

ab -H "X-Stream: true" -k -n 1000 -c 4 -p cypher_100.json \
   -T 'application/json' -H "Accept: application/json" \
   http://127.0.0.1:7474/db/data/transaction/commit

100k节点18s

按照Michaels的建议,我在Azure A2 Linux计算机上设置了neo4j-enterprise-2.1.5,并测试了10000个节点的简单创建:

class CreateSimpleNodes extends Simulation {

val httpConf = httpConfig
    .baseURL("http://xxxxx.cloudapp.net:7474")
    .acceptHeader("application/json")

  val createNode = """{"query": "create me"}"""

  val scn = scenario("Create Nodes")
    .repeat(250) {
    exec(
      http("create node")
        .post("/db/data/cypher")
        .body(createNode)
        .asJSON
        .check(status.is(200)))
      .pause(0 milliseconds, 1 milliseconds)
  }

  setUp(
    scn.users(40).protocolConfig(httpConf)
  )
}

它实际上比Windows A2的性能差。 它只能管理24 req / s,平均1655 ms。 现在,我比以前更加困惑:)特别是看到上面的Michaels基准数字时,测试代码是否有问题? 显而易见的问题仍然是一个谜,为什么A1和A2的结果相似,为什么我的本地4GB机器的性能要比A2好得多?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM