• Redis QPS测试


    1、计算qps:

    1)redis发布版本中自带了redis-benchmark性能测试工具,可以使用它计算qps。示例:使用50个并发连接,发出100000个请求,每个请求的数据为2kb,测试host为127.0.0.1端口为6379的redis服务器性能:

    ./redis-benchmark -h127.0.0.1 -p 6379 -c 50 -n 100000 -d 2

    ...

    ====== SADD ======

      100000 requests completed in 2.27 seconds

      500 parallel clients

      3 bytes payload

      keep alive: 1

    4.66% <= 1milliseconds

    14.15% <= 2milliseconds

    23.87% <= 3milliseconds

    33.59% <= 4milliseconds

    43.13% <= 5milliseconds

    52.69% <= 6milliseconds

    62.08% <= 7milliseconds

    71.43% <= 8milliseconds

    80.66% <= 9milliseconds

    89.10% <= 10milliseconds

    95.23% <= 11milliseconds

    98.76% <= 12milliseconds

    99.59% <= 13milliseconds

    99.78% <= 14milliseconds

    99.87% <= 15milliseconds

    99.95% <= 16milliseconds

    99.99% <= 17milliseconds

    100.00% <= 17milliseconds

    44150.11 requestsper second

    我们关注结果最后一行:每秒44150.11个请求,既QPS4.4万;但这里的数据都只是测试数据,测出来的QPS不能代表实际生产的处理能力;

    2)测算redis处理实际生产请求的QPS/TPS

    在实际生产中,我们需要关心这个指标,在我们的应用场景中,redis能够处理的最大的(QPS/TPS)是多少?测量redisQPS的方式有两种:

    估计生产的报文大小,使用benchmark工具指定-d数据块大小来模拟;
    使用redis-cli中info统计信息计算差值;redis-cli的info命令中有一项total_commands_processed表示:从启动到现在处理的所有命令总数,可以通过统计两次info指令间的差值来计算QPS:
     

    watch -n 60'redis-cli -a MROhwkCyaGZbCrMTLAg2  info|grep total_commands_processe >> qps2.txt && date >>qps2.txt'

    把每分钟的total_commands_processe记录到qps2.txt,打上时间戳得到数据两两相减,除以60秒。

    注意:这个实时数据,存在波峰波谷,要采样几次,每次一段时间,这样才比较准。所以,一般使用下面命令

    nohup watch -n 60'redis-cli -a MROhwkCyaGZbCrMTLAg2  info|grep total_commands_processe >> qps2.txt && date >>qps2.txt' > log 2>&1 &


    2、内存使用情况:

    redis是内存数据库,直接看info里的相关参数即可


    used_memory:832784 # Redis 分配的内存总量 
    used_memory_human:813.27K 
    used_memory_rss:1896448 # Redis 分配的内存总量(包括内存碎片) 
    used_memory_peak:832760  
    used_memory_peak_human:813.24K #Redis所用内存的高峰值

    3、redis连接数:

    redis是内存数据库,直接看info里的相关参数即可

    # Clients
    connected_clients:28

  • 相关阅读:
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    WEBUS2.0 In Action
    在Linux查看版本命令
    Increasing heap size while building the android source code on Ubuntu 15.10
    在Linux中增加swap空间
    Patch
    使用Vim比较两个文件的内容
    @override 重写 与重载
  • 原文地址:https://www.cnblogs.com/chencanjian/p/10026215.html
Copyright © 2020-2023  润新知