暂无图片
redis set一个字符串,比较理想的时间是多少ms?
我来答
分享
暂无图片 匿名用户
redis set一个字符串,比较理想的时间是多少ms?
暂无图片 5M

redis set一个字符串,比较理想的时间是多少ms?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
农夫三拳

Redis 在不同的软硬件环境下,它的性能表现差别特别大,不同CPU、不同SSD,都会极大影响Redis的性能表现。服务器配置比较低时延迟为 10ms 时,才认为 Redis响应变慢了,但是如果配置比较高,那么可能延迟是 1ms 时就可以认为 Redis 变慢了。

在整个应用系统中,redis只是其中的一个环节,需要综合分析redis是否瓶颈

Redis自带的工具可以进行两种基准性能测试的方式。

方式一:redis-cli --intrinsic-latency

为了避免业务测试服务器到 Redis 服务器之间的网络延迟,需要直接在 Redis 服务器上测试实例的响应延迟情况。执行以下命令,就可以测试出这个实例 120 秒内的最大响应延迟:

shell> redis-cli -h 127.0.0.1 -p 6379 --intrinsic-latency 120

Max latency so far: 4 microseconds.

Max latency so far: 5 microseconds.

Max latency so far: 15 microseconds.

Max latency so far: 23 microseconds.

Max latency so far: 64 microseconds.

Max latency so far: 196 microseconds.

Max latency so far: 245 microseconds.

Max latency so far: 246 microseconds.

Max latency so far: 254 microseconds.

Max latency so far: 259 microseconds.

29298480 total runs (avg latency: 4.0958 microseconds / 40957.76 nanoseconds per run).

Worst run took 63x longer than the average latency.

从输出结果可以看到,这 120 秒内的最大响应延迟为 259 微秒(0.259毫秒)。

方式二:redis-benchmark

Redis-benchmark是Redis官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能.

shell> redis-benchmark -h 127.0.0.1 -p 6379 -t set,get -c 500 -n 100000

====== SET ======

100000 requests completed in 1.02 seconds

500 parallel clients

3 bytes payload

keep alive: 1

0.00% <= 1 milliseconds

0.05% <= 2 milliseconds

99.09% <= 3 milliseconds

99.88% <= 4 milliseconds

100.00% <= 4 milliseconds

97847.36 requests per second

====== GET ======

100000 requests completed in 1.02 seconds

500 parallel clients

3 bytes payload

keep alive: 1

0.00% <= 1 milliseconds

0.05% <= 2 milliseconds

99.29% <= 3 milliseconds

99.92% <= 4 milliseconds

100.00% <= 4 milliseconds

97656.24 requests per second

该命令对set和get命令的操作响应时间进行测评,并发500个执行10w次操作,从输出结果可以看到,set的QPS达到了97847,响应时间都在4ms以内;get的QPS达到了97656,最大响应时间也在4ms以内;

暂无图片 评论
暂无图片 有用 1
暂无图片
2022-10-18
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏