Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redis requests done in 1 to 3 ms taking 300ms

i'm currently using a Graph Database using Redis for a Julia project.

Sometimes Redis requests are taking 300 ms to execute and i don't understand why. I run a simple request 10.000 times (the code of the request is below) and it took me :

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])

And got this results :

BenchmarkTools.Trial: memory estimate: 3.09 KiB allocs estimate: 68

minimum time: 1.114 ms (0.00% GC)

median time: 1.249 ms (0.00% GC)

mean time: 18.623 ms (0.00% GC)

maximum time: 303.269 ms (0.00% GC)

samples: 10000 evals/sample: 1

The Huge difference between median time and mean time came from the problem i'm talking about (the request take either [1-3] ms or [300-310] ms )

like image 380
Aubin MOREAU Avatar asked Jan 21 '26 09:01

Aubin MOREAU


1 Answers

I'm not familiar with Julia but please note RedisGraph report its internal execution time, I'll suggest using this report for measurement,

In addition it would be helpful to understand when (on which sample) did RedisGraph took over 100ms to process the query, usually it is the first query which causes RedisGraph to do some extra work.

like image 101
SWilly22 Avatar answered Jan 23 '26 20:01

SWilly22