测量 Redis Lua 脚本的性能

有没有办法测量 Redis Lua 脚本的性能?

我有一段 Lua 脚本,我最终得到了稍微不同的实现,我想知道有没有办法测量哪个实现更快。

点赞
用户3160475
用户3160475

你可以调用 Redis 的 TIME 命令来执行脚本内的 "benchmarking"。以下类似的代码应该可以正常工作:

local start = redis.call('TIME')

-- your logic here

local finish = redis.call('TIME')
return finish[1]-start[1]
2018-07-31 11:33:53
用户11423549
用户11423549

我在评论中读到有人提到了 finish[2]-start[2] 不是一个好主意,因为[2]表示“当前秒中已经经过的微秒数”,而不是整个时间戳(因此,如果我们在不同的秒钟完成,这个计算将失败。)

基于:https://redis.io/commands/TIME

要获取微秒时间,我会这样做:

local start = redis.call('TIME')

-- 你的逻辑在这里

local finish = redis.call('TIME')
return (finish[1]-start[1])*1000000+(finish[2]-start[2])
2021-02-11 11:20:59