redis请求在1到3毫秒内完成,耗时300毫秒

btxsgosb  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(1382)

我目前正在使用一个图形数据库,使用redis进行julia项目。
有时候redis请求需要300毫秒才能执行,我不明白为什么。我运行了一个简单的请求10.000次(请求的代码如下所示),它花费了我:

using Redis, BenchmarkTools

conn = RedisConnection(port=6382) Redis.execute_command(conn,["FLUSHDB"])

q = string("CREATE (:Type {nature :'Test',val:'test'})") BenchmarkTools.DEFAULT_PARAMETERS.seconds = 1000 BenchmarkTools.DEFAULT_PARAMETERS.samples = 10000

stats = @benchmark Redis.execute_command(conn,[ "GRAPH.QUERY", "GraphDetection", q])

结果是:
benchmarktools.trial:内存估计:3.09 kib allocs估计:68
最短时间:1.114 ms(0.00%gc)
中位时间:1.249 ms(0.00%gc)
平均时间:18.623 ms(0.00%gc)
最长时间:303.269 ms(0.00%gc)
样本:10000 evals/样本:1
中间时间和平均时间之间的巨大差异来自于我所说的问题(请求需要[1-3]毫秒或[300-310]毫秒)

y53ybaqx

y53ybaqx1#

我不熟悉julia,但请注意redisgraph报告其内部执行时间,我建议使用此报告进行测量,
此外,了解redisgraph何时(在哪个示例上)花了100毫秒来处理查询也很有帮助,通常是第一个查询导致redisgraph做一些额外的工作。

相关问题