我有一个简单的jquery,通过get调用servlet,然后Neo4j用于返回JSON格式的数据。
在FIRST查询之后系统是可行的,但是第一次使用它时系统的速度令人难以置信地缓慢。这是某种初始化问题。我正在使用Heroku网络托管。
代码相当长,所以我现在不发布,但是有没有关于第一次调用Neo4j的任何已知问题?
到目前为止,我已经对性能进行了有限的测试,因为我有很多JSON问题,他们只是刚刚解决了。
要点:
的JQuery(LINUX)< - > get(JSON)< ---> Neo4j的
这不是一次性的;我测试了几次,总是出现相同的模式。
答案 0 :(得分:1)
这是Neo4j的正常行为,其中存储文件被懒惰地映射到内存中以使部分文件变热,并且变热需要数千个对这样的部分的请求。这是一种考虑到大商店的行为,而对于较小的商店,它只会妨碍(为什么不映射整个东西,如果它适合内存?)。
然后,最重要的是一个“对象”缓存,它进一步优化了访问权限,可以懒得填充所请求的实体。
使用SSD而不是旋转介质通常会加速初始的非内存映射随机访问,但在您的场景中我认识到这是不可行的。
有人认为,在数据库生命周期的开始,对商店的热门部分(即使内存映射,即使不是很热)更敏感,或者更确切地说,热敏感度是当前内存的多少映射与最大可映射的数量。这表明初始请求的响应速度更快。