我想知道如何检查Redis服务器的性能以及可能存在的瓶颈。我运行了redis-cli -h 127.0.0.1 -p 6379 --stat命令并得到以下统计信息。
如果有人可以建议需要做什么以及需要检查哪些其他指标。
答案 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,这是实时检查的绝佳工具。
此致