标题:Redis-benchmark测试Redis性能 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Wed, 04 Jan 2017 17:30:52 +0000 作者:jackxiang 地址:https://jackxiang.com/post/9154/ 内容: 背景: 有时间对Redis的一个测试来看,特别是经过了网络,此时,会傻傻分不清楚是Redis本来性能就差,还是网络不好(PHP调用Redis的机器和Redis分离或不在同一网段),这个工具可以直接在Redis上测试Redis,或是在PHP上测试Redis,这样有一个粗粒度的判断和把握。 测试命令事例: 1、redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能。 使用说明如下: 复制代码 Usage: redis-benchmark [-h ] [-p ] [-c ] [-n [-k ] -h Server hostname (default 127.0.0.1) -p Server port (default 6379) -s Server socket (overrides host and port) -c Number of parallel connections (default 50) -n Total number of requests (default 10000) -d Data size of SET/GET value in bytes (default 2) -k 1=keep alive 0=reconnect (default 1) -r Use random keys for SET/GET/INCR, random values for SADD Using this option the benchmark will get/set keys in the form mykey_rand:000000012456 instead of constant keys, the argument determines the max number of values for the random number. For instance if set to 10 only rand:000000000000 - rand:000000000009 range will be allowed. -P Pipeline requests. Default 1 (no pipeline). -q Quiet. Just show query/sec values --csv Output in CSV format -l Loop. Run the tests forever -t Only run the comma-separated list of tests. The test names are the same as the ones produced as output. -I Idle mode. Just open N idle connections and wait. 复制代码 测试命令事例: 1、redis-benchmark -h 192.168.1.201 -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 2、redis-benchmark -h 192.168.1.201 -p 6379 -q -d 100 测试存取大小为100字节的数据包的性能 3、redis-benchmark -t set,lpush -n 100000 -q 只测试某些操作的性能 4、redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')" 只测试某些数值存取的性能 测试结果分析: 复制代码 10000 requests completed in 0.30 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.11% <= 1 milliseconds 86.00% <= 2 milliseconds 90.12% <= 3 milliseconds 96.68% <= 4 milliseconds 99.27% <= 5 milliseconds 99.54% <= 6 milliseconds 99.69% <= 7 milliseconds 99.78% <= 8 milliseconds 99.89% <= 9 milliseconds 100.00% <= 9 milliseconds 33222.59 requests per second ====== PING_BULK ====== 10000 requests completed in 0.27 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.93% <= 1 milliseconds 97.66% <= 2 milliseconds 100.00% <= 2 milliseconds 37174.72 requests per second ====== SET ====== 10000 requests completed in 0.32 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.22% <= 1 milliseconds 91.68% <= 2 milliseconds 97.78% <= 3 milliseconds 98.80% <= 4 milliseconds 99.38% <= 5 milliseconds 99.61% <= 6 milliseconds 99.72% <= 7 milliseconds 99.83% <= 8 milliseconds 99.94% <= 9 milliseconds 100.00% <= 9 milliseconds 30959.75 requests per second ====== GET ====== 10000 requests completed in 0.28 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.55% <= 1 milliseconds 98.86% <= 2 milliseconds 100.00% <= 2 milliseconds 35971.22 requests per second ====== INCR ====== 10000 requests completed in 0.14 seconds 100 parallel clients 3 bytes payload keep alive: 1 95.61% <= 1 milliseconds 100.00% <= 1 milliseconds 69444.45 requests per second ====== LPUSH ====== 10000 requests completed in 0.21 seconds 100 parallel clients 3 bytes payload keep alive: 1 18.33% <= 1 milliseconds 100.00% <= 1 milliseconds 48309.18 requests per second ====== LPOP ====== 10000 requests completed in 0.23 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.29% <= 1 milliseconds 99.76% <= 2 milliseconds 100.00% <= 2 milliseconds 44052.86 requests per second ====== SADD ====== 10000 requests completed in 0.22 seconds 100 parallel clients 3 bytes payload keep alive: 1 2.37% <= 1 milliseconds 99.81% <= 2 milliseconds 100.00% <= 2 milliseconds 44444.45 requests per second ====== SPOP ====== 10000 requests completed in 0.22 seconds 100 parallel clients 3 bytes payload keep alive: 1 4.27% <= 1 milliseconds 99.84% <= 2 milliseconds 100.00% <= 2 milliseconds 44642.86 requests per second ====== LPUSH (needed to benchmark LRANGE) ====== 10000 requests completed in 0.22 seconds 100 parallel clients 3 bytes payload keep alive: 1 12.35% <= 1 milliseconds 99.62% <= 2 milliseconds 100.00% <= 2 milliseconds 46082.95 requests per second ====== LRANGE_100 (first 100 elements) ====== 10000 requests completed in 0.48 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.01% <= 1 milliseconds 3.27% <= 2 milliseconds 98.71% <= 3 milliseconds 99.93% <= 4 milliseconds 100.00% <= 4 milliseconds 20964.36 requests per second ====== LRANGE_300 (first 300 elements) ====== 10000 requests completed in 1.26 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.01% <= 2 milliseconds 0.14% <= 3 milliseconds 0.90% <= 4 milliseconds 7.03% <= 5 milliseconds 31.68% <= 6 milliseconds 78.93% <= 7 milliseconds 98.88% <= 8 milliseconds 99.56% <= 9 milliseconds 99.72% <= 10 milliseconds 99.95% <= 11 milliseconds 100.00% <= 11 milliseconds 7961.78 requests per second ====== LRANGE_500 (first 450 elements) ====== 10000 requests completed in 1.82 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.01% <= 2 milliseconds 0.06% <= 3 milliseconds 0.14% <= 4 milliseconds 0.30% <= 5 milliseconds 0.99% <= 6 milliseconds 2.91% <= 7 milliseconds 8.11% <= 8 milliseconds 43.15% <= 9 milliseconds 88.38% <= 10 milliseconds 97.25% <= 11 milliseconds 98.61% <= 12 milliseconds 99.26% <= 13 milliseconds 99.30% <= 14 milliseconds 99.44% <= 15 milliseconds 99.48% <= 16 milliseconds 99.64% <= 17 milliseconds 99.85% <= 18 milliseconds 99.92% <= 19 milliseconds 99.95% <= 20 milliseconds 99.96% <= 21 milliseconds 99.97% <= 22 milliseconds 100.00% <= 23 milliseconds 5491.49 requests per second ====== LRANGE_600 (first 600 elements) ====== 10000 requests completed in 2.29 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.01% <= 2 milliseconds 0.05% <= 3 milliseconds 0.10% <= 4 milliseconds 0.19% <= 5 milliseconds 0.34% <= 6 milliseconds 0.46% <= 7 milliseconds 0.58% <= 8 milliseconds 4.46% <= 9 milliseconds 21.80% <= 10 milliseconds 40.48% <= 11 milliseconds 60.14% <= 12 milliseconds 79.81% <= 13 milliseconds 93.77% <= 14 milliseconds 97.14% <= 15 milliseconds 98.67% <= 16 milliseconds 99.08% <= 17 milliseconds 99.30% <= 18 milliseconds 99.41% <= 19 milliseconds 99.52% <= 20 milliseconds 99.61% <= 21 milliseconds 99.79% <= 22 milliseconds 99.88% <= 23 milliseconds 99.89% <= 24 milliseconds 99.95% <= 26 milliseconds 99.96% <= 27 milliseconds 99.97% <= 28 milliseconds 99.98% <= 29 milliseconds 100.00% <= 29 milliseconds 4359.20 requests per second ====== MSET (10 keys) ====== 10000 requests completed in 0.37 seconds 100 parallel clients 3 bytes payload keep alive: 1 0.01% <= 1 milliseconds 2.00% <= 2 milliseconds 18.41% <= 3 milliseconds 88.55% <= 4 milliseconds 96.09% <= 5 milliseconds 99.50% <= 6 milliseconds 99.65% <= 7 milliseconds 99.75% <= 8 milliseconds 99.77% <= 9 milliseconds 99.78% <= 11 milliseconds 99.79% <= 12 milliseconds 99.80% <= 13 milliseconds 99.81% <= 15 milliseconds 99.82% <= 16 milliseconds 99.83% <= 17 milliseconds 99.84% <= 19 milliseconds 99.85% <= 21 milliseconds 99.86% <= 23 milliseconds 99.87% <= 24 milliseconds 99.88% <= 25 milliseconds 99.89% <= 27 milliseconds 99.90% <= 28 milliseconds 99.91% <= 30 milliseconds 99.92% <= 32 milliseconds 99.93% <= 34 milliseconds 99.95% <= 35 milliseconds 99.96% <= 36 milliseconds 99.97% <= 37 milliseconds 99.98% <= 39 milliseconds 99.99% <= 41 milliseconds 100.00% <= 41 milliseconds 27173.91 requests per second 摘自:http://www.cnblogs.com/silent2012/p/4514901.html Generated by Jackxiang's Bo-blog 2.1.1 Release