我在PC、Ubuntu和Mac上使用ArangoDB很长一段时间,没有任何问题。一般来说,我的Foxx应用程序在Mac上的运行速度是PC上的4-5倍。
我在两台机器上都升级到了2.7.3版本。现在,Mac的速度比PC慢。比应用程序处于“生产”或“开发”模式更糟糕的是,她的工作速度是相同的。我对“生产”模式编制的真实性存有疑问。但是,命令"foxx-manager list“根据所选的模式返回"true”和"false“。
有没有办法检查应用程序的脚本在编译模式下是否运行良好?一个建议?
发布于 2016-01-28 02:23:19
很抱歉,我不能共享我的数据。
下面是我在两台机器上测试CouchDB和ArangoDB访问的代码。它是极简主义的,在CouchDB和ArangoDB上都没有引入个人代码,使用超文本传输协议,并在本地工作。
import requests
import time
LOOP = 500
CDB_SESS = requests.Session()
CDB_SESS.stream = False
CDB_SESS.headers.update({'content-type': 'application/json; charset=utf-8'})
ADB_SESS = requests.Session()
ADB_SESS.stream = False
ADB_SESS.headers.update({'content-type': 'application/json; charset=utf-8'})
if __name__ == '__main__':
print 'CouchDB'
START = time.time()
for x in range(LOOP):
_rsp = CDB_SESS.get('http://localhost:5984/')
value = _rsp.json()
STOP = time.time()
print (STOP - START)
print 'ArangoDB'
START = time.time()
for x in range(LOOP):
_rsp = ADB_SESS.get('http://localhost:8529/_db/_system/_api/version')
value = _rsp.json()
STOP = time.time()
print (STOP - START)
这两个循环的不同之处仅在于所使用的url。数据库只运行内部代码,不是我的,对吧?
如果瓶颈来自Python或请求,那么这个瓶颈在两个数据库上的作用方式是相同的,这不是很合理吗?
今天,我把PC放在一边,开始研究MAC。
我卸载了ArangoDB (brew卸载arangodb),并清除了目录var/lib中的内容。然后我重新安装了它(brew安装arangodb),没有传输我的数据或任何Foxx应用程序。One virgin install我唯一的操作是修改v8-context=1。
我启动了上面的测试,3次。结果如下:
结果和以前得到的结果一样糟糕。
我是否必须牵连我的数据(不存在)或我的Foxx应用程序(不存在)?
发布于 2016-01-26 17:46:28
我做了一些测试。
我在两台机器上使用的版本是相同的:
除了python:
两台机器上的测试代码是相同的。我发射了3次,以防万一。CouchDB和ArangoDB上的数据在PC和MAC上是相同的。
第一个测试是一个仅在CouchDB上读取500条记录的循环(我的源代码):
PC上的
MAC的速度是它的9-10倍。速度减慢不是来自我的数据源,对吧?
第二个测试是在CouchDB上循环500 'http://localhost:5984/‘,在ArangoDB上循环500 'http://localhost:8529/ system/_ api/version’。我的代码不会干预,对吧?:在PC上:
20.01s
“哪一个是你的版本?”的速度差异?大约是40。
在MAC上:
区别在哪里?
发布于 2016-02-18 20:31:23
经过大量的研究和讨论,我们发现了两个问题:
我们用于API文档的
进行了进一步的讨论in github issue #1629
https://stackoverflow.com/questions/34881863
复制相似问题