@@ -424,4 +424,135 @@ public class LimitRequestDemo {
424
424
请求成功
425
425
请求过于频繁,请稍后再试
426
426
请求过于频繁,请稍后再试
427
- ` ` `
427
+ ` ` `
428
+
429
+ # ### 4.Redis压力测试实战
430
+
431
+ ` ` ` sh
432
+ redis-benchmark [option] [optiion value]
433
+ # option是参数项,option value是参数值
434
+ # -h 指定redis服务器地址
435
+ # -p 指定redis服务器端口
436
+ # -c 指定并发连接数
437
+ # -n 指定请求次数
438
+ # -q 强制退出Redis,显示时只给出“每秒能处理的请求数”这个值
439
+ # -t 指定测试的命令,默认执行所有命令
440
+
441
+ PS D:\c ode\b logs\f arb.github.io> docker exec -it redisDemo bash
442
+
443
+ # 对本机6379端口的redis服务器进行压测,执行set和get命令各2000次
444
+ root@563f5a099d06:/data# redis-benchmark -h 127.0.0.1 -p 6379 -t set,get -n 2000
445
+
446
+ # 2000次请求set的压测结果,0.01s处理完成
447
+ ====== SET ======
448
+ 2000 requests completed in 0.01 seconds
449
+ 50 parallel clients
450
+ 3 bytes payload
451
+ keep alive: 1
452
+ host configuration " save" : 3600 1 300 100 60 10000
453
+ host configuration " appendonly" : no
454
+ multi-thread: no
455
+
456
+ # 显示了n%的请求处理时间
457
+ Latency by percentile distribution:
458
+ 0.000% < = 0.039 milliseconds (cumulative count 1)
459
+ 50.000% < = 0.095 milliseconds (cumulative count 1043)
460
+ 75.000% < = 0.111 milliseconds (cumulative count 1677)
461
+ 87.500% < = 0.119 milliseconds (cumulative count 1775)
462
+ 93.750% < = 0.167 milliseconds (cumulative count 1887)
463
+ 96.875% < = 0.207 milliseconds (cumulative count 1942)
464
+ 98.438% < = 0.247 milliseconds (cumulative count 1976)
465
+ 99.219% < = 0.271 milliseconds (cumulative count 1986)
466
+ 99.609% < = 0.295 milliseconds (cumulative count 1994)
467
+ 99.805% < = 0.303 milliseconds (cumulative count 1997)
468
+ 99.902% < = 0.319 milliseconds (cumulative count 1999)
469
+ 99.951% < = 0.327 milliseconds (cumulative count 2000)
470
+ 100.000% < = 0.327 milliseconds (cumulative count 2000)
471
+
472
+ Cumulative distribution of latencies:
473
+ 73.050% < = 0.103 milliseconds (cumulative count 1461)
474
+ 97.100% < = 0.207 milliseconds (cumulative count 1942)
475
+ 99.850% < = 0.303 milliseconds (cumulative count 1997)
476
+ 100.000% < = 0.407 milliseconds (cumulative count 2000)
477
+
478
+ # 汇总信息,吞吐量:每秒28.6万次请求
479
+ Summary:
480
+ throughput summary: 285714.28 requests per second
481
+ latency summary (msec):
482
+ avg min p50 p95 p99 max
483
+ 0.103 0.032 0.095 0.175 0.255 0.327
484
+
485
+ # 以下时get的压测结果,与上面类似
486
+ ====== GET ======
487
+ 2000 requests completed in 0.01 seconds
488
+ 50 parallel clients
489
+ 3 bytes payload
490
+ keep alive: 1
491
+ host configuration " save" : 3600 1 300 100 60 10000
492
+ host configuration " appendonly" : no
493
+ multi-thread: no
494
+
495
+ Latency by percentile distribution:
496
+ 0.000% < = 0.039 milliseconds (cumulative count 2)
497
+ 50.000% < = 0.103 milliseconds (cumulative count 1211)
498
+ 75.000% < = 0.119 milliseconds (cumulative count 1512)
499
+ 87.500% < = 0.159 milliseconds (cumulative count 1751)
500
+ 93.750% < = 0.223 milliseconds (cumulative count 1878)
501
+ 96.875% < = 0.407 milliseconds (cumulative count 1938)
502
+ 98.438% < = 0.759 milliseconds (cumulative count 1969)
503
+ 99.219% < = 0.935 milliseconds (cumulative count 1985)
504
+ 99.609% < = 0.967 milliseconds (cumulative count 1993)
505
+ 99.805% < = 0.999 milliseconds (cumulative count 1997)
506
+ 99.902% < = 1.071 milliseconds (cumulative count 1999)
507
+ 99.951% < = 1.079 milliseconds (cumulative count 2000)
508
+ 100.000% < = 1.079 milliseconds (cumulative count 2000)
509
+
510
+ Cumulative distribution of latencies:
511
+ 60.550% < = 0.103 milliseconds (cumulative count 1211)
512
+ 92.650% < = 0.207 milliseconds (cumulative count 1853)
513
+ 96.450% < = 0.303 milliseconds (cumulative count 1929)
514
+ 96.900% < = 0.407 milliseconds (cumulative count 1938)
515
+ 97.250% < = 0.503 milliseconds (cumulative count 1945)
516
+ 97.650% < = 0.607 milliseconds (cumulative count 1953)
517
+ 98.000% < = 0.703 milliseconds (cumulative count 1960)
518
+ 98.600% < = 0.807 milliseconds (cumulative count 1972)
519
+ 98.950% < = 0.903 milliseconds (cumulative count 1979)
520
+ 99.900% < = 1.007 milliseconds (cumulative count 1998)
521
+ 100.000% < = 1.103 milliseconds (cumulative count 2000)
522
+
523
+ Summary:
524
+ throughput summary: 249999.98 requests per second
525
+ latency summary (msec):
526
+ avg min p50 p95 p99 max
527
+ 0.131 0.032 0.103 0.247 0.919 1.079
528
+ ` ` `
529
+
530
+ 再执行一个压测命令查看一下:
531
+
532
+ ` ` ` sh
533
+ # 20个并发连接,2000次请求,没有指定-t参数,默认执行所有命令,使用-q参数,只显示每秒处理的请求数,如果去掉-q,则会显示每条命令的详细信息。
534
+ root@563f5a099d06:/data# redis-benchmark -h localhost -p 6379 -c 20 -n 2000 -q
535
+
536
+ # 显示每秒处理的请求数,以及50%的请求处理耗时
537
+ PING_INLINE: 285714.28 requests per second, p50=0.047 msec
538
+ PING_MBULK: 285714.28 requests per second, p50=0.047 msec
539
+ SET: 249999.98 requests per second, p50=0.047 msec
540
+ GET: 249999.98 requests per second, p50=0.047 msec
541
+ INCR: 249999.98 requests per second, p50=0.047 msec
542
+ LPUSH: 285714.28 requests per second, p50=0.039 msec
543
+ RPUSH: 249999.98 requests per second, p50=0.047 msec
544
+ LPOP: 222222.23 requests per second, p50=0.039 msec
545
+ RPOP: 285714.28 requests per second, p50=0.047 msec
546
+ SADD: 249999.98 requests per second, p50=0.047 msec
547
+ HSET: 249999.98 requests per second, p50=0.047 msec
548
+ SPOP: 222222.23 requests per second, p50=0.047 msec
549
+ ZADD: 222222.23 requests per second, p50=0.047 msec
550
+ ZPOPMIN: 222222.23 requests per second, p50=0.047 msec
551
+ LPUSH (needed to benchmark LRANGE): 249999.98 requests per second, p50=0.047 msec
552
+ LRANGE_100 (first 100 elements): 90909.09 requests per second, p50=0.119 msec
553
+ LRANGE_300 (first 300 elements): 35714.29 requests per second, p50=0.279 msec
554
+ LRANGE_500 (first 500 elements): 25000.00 requests per second, p50=0.391 msec
555
+ LRANGE_600 (first 600 elements): 21505.38 requests per second, p50=0.455 msec
556
+ MSET (10 keys): 333333.34 requests per second, p50=0.039 msec
557
+ XADD: 285714.28 requests per second, p50=0.039 msec
558
+ ` ` `
0 commit comments