redis自身查询很慢 排查redis-benchmark
redis-benchmark
是一个用于测试 Redis性能的基准测试工具,可以帮助开发人员评估和比较 Redis 在不同配置或负载情况下的吞吐量和延迟。
通过 redis-benchmark
的测试结果,你可以获得qps、平均延迟、错误率等性能指标,从而根据需要进行调优和优化,确保Redis在实际生产环境中具有良好的性能和可靠性。
(1)、查询启用100个并发,发100000个请求。
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 -h 127.0.0.1:指定 Redis 服务器的主机地址为 127.0.0.1,即本地主机。 -p 6379:指定 Redis 服务器的端口号为 6379,默认情况下 Redis 使用 6379 端口。 -c 100:指定并发连接数为 100,即同时并发地执行操作。 -n 100000:指定执行操作的总次数为 100,000 次。
测试如下:1.2秒就完成了100000次请求,每秒83056的吞吐量,说明Redis本身的性能就非常好。这是最常用的命令,可以评估 Redis 在指定条件下的并发处理能力和性能表现。
[root@h252 system]# docker exec -it redis bash root@fe4213597697:/data# redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 ERROR: NOAUTH Authentication required. ERROR: failed to fetch CONFIG from 127.0.0.1:6379 WARN: could not fetch server CONFIG ====== PING_INLINE ====== 100000 requests completed in 1.20 seconds 100 parallel clients 3 bytes payload keep alive: 1 multi-thread: no 0.00% <= 0.3 milliseconds 0.01% <= 0.4 milliseconds 8.10% <= 0.5 milliseconds 48.45% <= 0.6 milliseconds 86.64% <= 0.7 milliseconds 99.22% <= 0.8 milliseconds 99.67% <= 0.9 milliseconds 99.72% <= 1.0 milliseconds 99.75% <= 1.1 milliseconds 99.78% <= 1.2 milliseconds 99.80% <= 1.3 milliseconds 99.82% <= 1.4 milliseconds 99.83% <= 1.5 milliseconds 99.84% <= 1.6 milliseconds 99.85% <= 1.7 milliseconds 99.86% <= 1.8 milliseconds 99.87% <= 1.9 milliseconds 99.89% <= 2 milliseconds 100.00% <= 2 milliseconds 83056.48 requests per second
(2)、设置输入命令:redis-benchmark -n 100000 -q script load "redis.call('set','chen','weixian')"
-t set,lpush:指定要执行的命令类型。在本例中,将同时执行 SET 和 LPUSH 命令,即将键值对设置到 Redis 中,并将元素推入列表。 -q:指定以静默模式运行基准测试,只输出总结结果,不显示每个操作的详细信息。 -n 100000:指定执行操作的总次数为 100,000 次。