如何识别Redis性能/瓶颈

时间:2016-09-24 12:36:34

标签: performance redis redis-cli

我想知道如何检查Redis服务器的性能以及可能存在的瓶颈。我运行了redis-cli -h 127.0.0.1 -p 6379 --stat命令并得到以下统计信息。

enter image description here

如果有人可以建议需要做什么以及需要检查哪些其他指标。

4 个答案:

答案 0 :(得分:3)

Redis包含redis-benchmark实用程序,可以模拟N个客户端同时执行的命令

Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]

MONITOR是一个调试命令,可以回送Redis服务器处理的每个命令。它可以帮助理解数据库发生了什么。此命令可以通过redis-cli和telnet使用。

$ redis-cli monitor

如果您遇到延迟问题,可能您知道如何在应用程序的上下文中测量它,或者您的延迟问题甚至可能在宏观上非常明显。但是redis-cli可用于测量Redis服务器的延迟(以毫秒为单位),只需尝试:

redis-cli --latency -h `host` -p `port`

希望你能从这里得到一些帮助。 参考链接:http://redis.io/topics/benchmarks

答案 1 :(得分:0)

您是否看过关于基准的this redis主题?

  

redis-benchmark程序是一种快速有用的方法,可以获取一些数据并评估Redis实例在给定硬件上的性能。但是,默认情况下,它不代表Redis实例可以承受的最大吞吐量。

答案 2 :(得分:0)

要识别性能瓶颈,请在Redis-cli中调用slowlog get。 它将返回执行时间超过redis.conf中定义的持续时间的命令列表。此持续时间仅涉及请求的处理,不包括通信时间。默认值是一秒,这对Redis来说很重要。

Redis.conf包含两个与慢速日志相关的值:

  • slowlog-log-slower-than定义要记录的请求的最短执行时间,以微秒为单位;
  • slowlog-max-len定义要在慢速日志中存储的最大条目数。

与Redis一样,您可以使用config set修改这些设置,而无需重新启动服务器。只是不要忘记这些日志存储在内存中。

您可以使用slowlog reset清除慢速日志条目。

答案 3 :(得分:0)

您还可以使用Redis Stat,这是实时检查的绝佳工具。

此致