本文概述
使用以下出色的工具, 了解Redis的性能, 中断时间, 吞吐量, 数据传输速率等。
在过去的几年中, Redis(远程词典服务)的流行和使用量有所增加。
不仅适用于企业应用程序, 而且也适用于中小型企业。甚至, 你可以在WordPress上使用Redis进行缓存, 并且性能要好得多。如果有兴趣从头开始学习Redis, 请查看此在线课程。
作为企业应用程序的开发人员或系统管理员, 你应了解执行基准测试以了解应用程序的性能和容量。 Redis基准测试与Web服务器略有不同。好消息是, 有许多免费工具可用, 因此你可以选择最适合自己的工具。
准备探索吗?
Redis基准测试工具
- Redis基准
- Redis-cli
- Memtier基准
- RDB工具
Redis基准
利用Redis内置的基准测试实用程序redis-benchmark。它包含在Redis安装中, 只需在UNIX上键入redis-benchmark即可执行。它在Windows上也可用, 可执行文件是redis-benchmark.exe。
让我们来看以下示例。
针对192.168.0.100发送一百万个请求
[email protected]:~# redis-benchmark -h 192.168.0.100 -p 6379 -n 1000000
====== PING_INLINE ======
1000000 requests completed in 30.62 seconds
50 parallel clients
3 bytes payload
keep alive: 1
61.85% <= 1 milliseconds
99.55% <= 2 milliseconds
99.93% <= 3 milliseconds
99.96% <= 4 milliseconds
99.98% <= 5 milliseconds
99.99% <= 6 milliseconds
99.99% <= 7 milliseconds
100.00% <= 8 milliseconds
100.00% <= 9 milliseconds
100.00% <= 9 milliseconds
32653.06 requests per second
30.62秒内完成了100万个请求。还要注意最后一行, 每秒处理约32653个请求。
如果仔细看, 有效负载大小为3个字节。这是默认设置, 可以使用-d参数进行自定义。以下测试适用于有效负载为1mb的100k请求。
[email protected]:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000
====== PING_INLINE ======
100000 requests completed in 2.80 seconds
50 parallel clients
1000000 bytes payload
keep alive: 1
73.19% <= 1 milliseconds
99.95% <= 2 milliseconds
100.00% <= 2 milliseconds
35676.06 requests per second
你注意到并行客户端了吗?它的默认值是50并进行调整, 可以使用-c参数。下面的示例适用于200个客户端。
[email protected]:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000 -c 200
====== PING_INLINE ======
100000 requests completed in 3.77 seconds
200 parallel clients
1000000 bytes payload
keep alive: 1
0.00% <= 1 milliseconds
2.99% <= 2 milliseconds
18.95% <= 3 milliseconds
45.81% <= 4 milliseconds
69.65% <= 5 milliseconds
86.58% <= 6 milliseconds
95.79% <= 7 milliseconds
98.88% <= 8 milliseconds
99.78% <= 9 milliseconds
99.96% <= 10 milliseconds
100.00% <= 10 milliseconds
26532.24 requests per second
如你所见, 有200个客户, 这花费了更多时间, 处理速度也变慢了。但是, 这是意料之中的, 这有助于找到应用程序的真实性能。
对Redis基准工具不满意?不用担心, 还有以下内容。
Redis-cli
只对延迟信息感兴趣吗?
当然, 你可以使用Redis服务器随附的redis-cli。你可以使用–latency参数执行。
[email protected]:~# redis-cli --latency
min: 0, max: 1, avg: 0.16 (1056 samples
缺省情况下, 延迟样本为每秒, 但你可以根据需要使用-i开关进行更改。
Memtier基准
Redis Labs的Memtier基准测试同时支持Redis和Memcache。它是一个高级基准测试工具, 具有以下各种测试选项。
- 测试密码保护的Redis
- 在集群模式下运行客户端
- 提供客户端数量, 请求, 线程, 数据大小,
- 调整设置和获取比例
还有更多……
这是一份快速测试报告。
[email protected]:~# memtier_benchmark
[RUN #1] Preparing benchmark client...
[RUN #1] Launching threads now...
[RUN #1 100%, 133 secs] 3 threads: 1993223 ops, 15083 (avg: 14877) ops/sec, 639.97KB/sec (avg: 631.04KB/sec), 13.30 (avg: 13.44) msec latenc[RUN #1 100%, 134 secs] 0 threads: 2000000 ops, 15083 (avg: 14911) ops/sec, 639.97KB/sec (avg: 632.52KB/sec), 13.30 (avg: 13.41) msec latency
4 Threads
50 Connections per thread
10000 Requests per client
ALL STATS
=========================================================================
Type Ops/sec Hits/sec Misses/sec Latency KB/sec
-------------------------------------------------------------------------
Sets 1354.30 --- --- 13.40200 104.30
Gets 13528.13 0.00 13528.13 13.41000 526.98
Waits 0.00 --- --- 0.00000 ---
Totals 14882.43 0.00 13528.13 13.40900 631.28
Request Latency Distribution
Type <= msec Percent
------------------------------------------------------------------------
SET 0.055 0.00
SET 0.063 0.00
SET 0.110 0.00
SET 0.140 0.00
SET 0.160 0.00
SET 0.170 0.00
SET 0.180 0.00
SET 0.210 0.01
SET 0.230 0.01
SET 0.280 0.01
SET 0.300 0.01
SET 0.360 0.01
SET 0.440 0.01
SET 0.460 0.01
SET 0.480 0.01
SET 0.510 0.01
SET 0.570 0.01
SET 0.590 0.01
SET 0.610 0.01
SET 0.630 0.01
SET 0.640 0.02
SET 0.670 0.02
SET 0.680 0.02
SET 0.710 0.02
SET 0.730 0.02
SET 0.740 0.02
SET 0.750 0.02
SET 0.760 0.02
SET 0.770 0.02
SET 0.780 0.02
SET 0.790 0.02
SET 0.820 0.02
SET 0.840 0.02
SET 0.850 0.03
SET 0.870 0.03
SET 0.880 0.03
SET 0.900 0.03
SET 0.930 0.03
SET 0.940 0.03
SET 0.950 0.03
SET 0.960 0.03
SET 0.970 0.03
SET 1.000 0.03
SET 1.100 0.04
SET 1.200 0.05
SET 1.300 0.06
SET 1.400 0.07
SET 1.500 0.08
SET 1.600 0.08
SET 1.700 0.09
SET 1.800 0.10
SET 1.900 0.10
SET 2.000 0.11
SET 2.100 0.12
SET 2.200 0.12
SET 2.300 0.13
SET 2.400 0.14
SET 2.500 0.16
SET 2.600 0.18
SET 2.700 0.21
SET 2.800 0.24
SET 2.900 0.25
SET 3.000 0.26
SET 3.100 0.27
SET 3.200 0.28
SET 3.300 0.28
SET 3.400 0.29
SET 3.500 0.30
SET 3.600 0.32
SET 3.700 0.35
SET 3.800 0.37
SET 3.900 0.39
SET 4.000 0.42
SET 4.100 0.45
SET 4.200 0.48
SET 4.300 0.52
SET 4.400 0.55
SET 4.500 0.59
SET 4.600 0.63
SET 4.700 0.68
SET 4.800 0.73
SET 4.900 0.77
SET 5.000 0.82
SET 5.100 0.88
SET 5.200 0.93
SET 5.300 0.99
SET 5.400 1.06
SET 5.500 1.12
SET 5.600 1.18
SET 5.700 1.25
SET 5.800 1.33
SET 5.900 1.40
SET 6.000 1.47
SET 6.100 1.56
SET 6.200 1.64
SET 6.300 1.73
SET 6.400 1.81
SET 6.500 1.92
SET 6.600 2.00
SET 6.700 2.10
SET 6.800 2.21
SET 6.900 2.32
SET 7.000 2.44
SET 7.100 2.57
SET 7.200 2.69
SET 7.300 2.80
SET 7.400 2.95
SET 7.500 3.09
SET 7.600 3.24
SET 7.700 3.37
SET 7.800 3.52
SET 7.900 3.68
SET 8.000 3.84
SET 8.100 4.02
SET 8.200 4.17
SET 8.300 4.34
SET 8.400 4.49
SET 8.500 4.65
SET 8.600 4.84
SET 8.700 5.03
SET 8.800 5.20
SET 8.900 5.38
SET 9.000 5.59
SET 9.100 5.78
SET 9.200 6.01
SET 9.300 6.22
SET 9.400 6.45
SET 9.500 6.72
SET 9.600 7.05
SET 9.700 7.35
SET 9.800 7.66
SET 9.900 7.99
SET 10.000 10.29
SET 11.000 17.47
SET 12.000 39.07
SET 13.000 62.05
SET 14.000 76.14
SET 15.000 83.95
SET 16.000 88.77
SET 17.000 91.73
SET 18.000 93.54
SET 19.000 94.82
SET 20.000 95.90
SET 21.000 96.80
SET 22.000 97.62
SET 23.000 98.26
SET 24.000 98.74
SET 25.000 99.07
SET 26.000 99.31
SET 27.000 99.49
SET 28.000 99.65
SET 29.000 99.71
SET 30.000 99.76
SET 31.000 99.82
SET 32.000 99.86
SET 33.000 99.89
SET 34.000 99.91
SET 35.000 99.93
SET 36.000 99.96
SET 37.000 99.97
SET 38.000 99.98
SET 39.000 99.99
SET 40.000 99.99
SET 41.000 99.99
SET 42.000 100.00
SET 43.000 100.00
SET 45.000 100.00
SET 46.000 100.00
---
GET 0.053 0.00
GET 0.054 0.00
GET 0.055 0.00
GET 0.067 0.00
GET 0.068 0.00
GET 0.076 0.00
GET 0.082 0.00
GET 0.086 0.00
GET 0.100 0.00
GET 0.110 0.00
GET 0.120 0.00
GET 0.130 0.00
GET 0.140 0.00
GET 0.150 0.00
GET 0.160 0.00
GET 0.170 0.00
GET 0.190 0.00
GET 0.200 0.00
GET 0.210 0.00
GET 0.220 0.00
GET 0.230 0.00
GET 0.240 0.00
GET 0.250 0.00
GET 0.270 0.00
GET 0.280 0.00
GET 0.290 0.00
GET 0.300 0.00
GET 0.320 0.00
GET 0.330 0.00
GET 0.340 0.00
GET 0.350 0.01
GET 0.360 0.01
GET 0.380 0.01
GET 0.400 0.01
GET 0.430 0.01
GET 0.440 0.01
GET 0.460 0.01
GET 0.470 0.01
GET 0.480 0.01
GET 0.500 0.01
GET 0.510 0.01
GET 0.520 0.01
GET 0.530 0.01
GET 0.540 0.01
GET 0.550 0.01
GET 0.560 0.01
GET 0.580 0.01
GET 0.590 0.01
GET 0.600 0.01
GET 0.610 0.01
GET 0.620 0.01
GET 0.630 0.01
GET 0.640 0.01
GET 0.650 0.01
GET 0.660 0.01
GET 0.670 0.01
GET 0.680 0.01
GET 0.690 0.01
GET 0.700 0.01
GET 0.710 0.01
GET 0.720 0.01
GET 0.730 0.01
GET 0.740 0.01
GET 0.750 0.01
GET 0.760 0.01
GET 0.770 0.01
GET 0.780 0.01
GET 0.790 0.01
GET 0.800 0.01
GET 0.810 0.01
GET 0.820 0.01
GET 0.830 0.01
GET 0.840 0.01
GET 0.850 0.02
GET 0.860 0.02
GET 0.870 0.02
GET 0.880 0.02
GET 0.890 0.02
GET 0.900 0.02
GET 0.910 0.02
GET 0.920 0.02
GET 0.930 0.02
GET 0.940 0.02
GET 0.950 0.02
GET 0.960 0.02
GET 0.970 0.02
GET 0.980 0.02
GET 0.990 0.02
GET 1.000 0.02
GET 1.100 0.02
GET 1.200 0.03
GET 1.300 0.04
GET 1.400 0.04
GET 1.500 0.05
GET 1.600 0.05
GET 1.700 0.05
GET 1.800 0.06
GET 1.900 0.06
GET 2.000 0.07
GET 2.100 0.07
GET 2.200 0.08
GET 2.300 0.09
GET 2.400 0.09
GET 2.500 0.11
GET 2.600 0.13
GET 2.700 0.16
GET 2.800 0.18
GET 2.900 0.20
GET 3.000 0.20
GET 3.100 0.21
GET 3.200 0.21
GET 3.300 0.22
GET 3.400 0.24
GET 3.500 0.25
GET 3.600 0.26
GET 3.700 0.28
GET 3.800 0.31
GET 3.900 0.33
GET 4.000 0.36
GET 4.100 0.39
GET 4.200 0.43
GET 4.300 0.46
GET 4.400 0.49
GET 4.500 0.53
GET 4.600 0.57
GET 4.700 0.61
GET 4.800 0.65
GET 4.900 0.69
GET 5.000 0.73
GET 5.100 0.78
GET 5.200 0.83
GET 5.300 0.89
GET 5.400 0.95
GET 5.500 1.01
GET 5.600 1.08
GET 5.700 1.14
GET 5.800 1.21
GET 5.900 1.30
GET 6.000 1.37
GET 6.100 1.45
GET 6.200 1.54
GET 6.300 1.62
GET 6.400 1.71
GET 6.500 1.80
GET 6.600 1.90
GET 6.700 1.99
GET 6.800 2.10
GET 6.900 2.21
GET 7.000 2.33
GET 7.100 2.45
GET 7.200 2.56
GET 7.300 2.67
GET 7.400 2.80
GET 7.500 2.94
GET 7.600 3.08
GET 7.700 3.22
GET 7.800 3.36
GET 7.900 3.51
GET 8.000 3.66
GET 8.100 3.83
GET 8.200 3.99
GET 8.300 4.17
GET 8.400 4.32
GET 8.500 4.49
GET 8.600 4.67
GET 8.700 4.84
GET 8.800 5.00
GET 8.900 5.18
GET 9.000 5.37
GET 9.100 5.58
GET 9.200 5.78
GET 9.300 6.00
GET 9.400 6.25
GET 9.500 6.53
GET 9.600 6.82
GET 9.700 7.11
GET 9.800 7.41
GET 9.900 7.77
GET 10.000 10.13
GET 11.000 17.36
GET 12.000 39.32
GET 13.000 62.21
GET 14.000 76.31
GET 15.000 83.98
GET 16.000 88.82
GET 17.000 91.71
GET 18.000 93.50
GET 19.000 94.77
GET 20.000 95.84
GET 21.000 96.76
GET 22.000 97.58
GET 23.000 98.22
GET 24.000 98.73
GET 25.000 99.07
GET 26.000 99.32
GET 27.000 99.51
GET 28.000 99.66
GET 29.000 99.73
GET 30.000 99.78
GET 31.000 99.83
GET 32.000 99.87
GET 33.000 99.90
GET 34.000 99.92
GET 35.000 99.94
GET 36.000 99.96
GET 37.000 99.97
GET 38.000 99.98
GET 39.000 99.99
GET 40.000 99.99
GET 41.000 99.99
GET 42.000 100.00
GET 43.000 100.00
GET 44.000 100.00
GET 45.000 100.00
GET 46.000 100.00
GET 47.000 100.00
---
[email protected]:~#
我怀疑你是否可以在Windows上安装此程序, 但可以肯定在UNIX发行版(如RHEL / CentOS, Ubuntu / Debian, MacOS等)上进行安装。可以免费尝试体验。
RDB工具
既可以用作CLI也可以用作GUI。 RDBTools是一个跨平台工具, 旨在帮助提高应用程序性能。在谈到特定于基准测试时, 它具有内存分析功能, 该功能可以调查内存使用情况, 关键分析, 识别内存泄漏并建议降低内存使用率。
你可以通过GUI查看实时性能并执行各种管理任务。
总结
希望以上工具能帮助你执行Redis基准测试, 以便你了解应用程序性能。
评论前必须登录!
注册