zoukankan      html  css  js  c++  java
  • Redis压力测试

    命令:

    redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000

    可选参数如下所示:

    序号选项描述默认值
    1 -h 指定服务器主机名 127.0.0.1
    2 -p 指定服务器端口 6379
    3 -s 指定服务器 socket  
    4 -c 指定并发连接数 50
    5 -n 指定请求数 10000
    6 -d 以字节的形式指定 SET/GET 值的数据大小 2
    7 -k 1=keep alive 0=reconnect 1
    8 -r SET/GET/INCR 使用随机 key, SADD 使用随机值  
    9 -P 通过管道传输 <numreq> 请求 1
    10 -q 强制退出 redis。仅显示 query/sec 值  
    11 --csv 以 CSV 格式输出  
    12 -l 生成循环,永久执行测试  
    13 -t 仅运行以逗号分隔的测试命令列表。  
    14 -I Idle 模式。仅打开 N 个 idle 连接并等待。  

    你不必每次都运行 redis-benchmark 默认的所有测试。 使用 -t 参数可以选择你需要运行的测试用例,比如下面的范例:

    redis-benchmark -t set,lpush -n 100000 -q

    默认情况下,每个客户端都是在一个请求完成之后才发送下一个请求 (benchmark 会模拟 50 个客户端除非使用 -c 指定特别的数量), 这意味着服务器几乎是按顺序读取每个客户端的命令。Also RTT is payed as well.

    真实世界会更复杂,Redis 支持 /topics/pipelining,使得可以一次性执行多条命令成为可能。 Redis pipelining 可以提高服务器的 TPS。

    redis-benchmark -n 1000000 -t set,get -P 16 -q

    SET: 403063.28 requests per second

    GET: 508388.41 requests per second

     
  • 相关阅读:
    html5 postMessage解决跨域、跨窗口消息传递
    获取url参数值(可解码中文值)
    正则去除字符串中的html标签,但不去除<br>标签
    vue中watch检测到不到对象属性的变化的解决方法
    封装LocalStorage.js
    this.$router.push、replace、go的区别
    Javascript实现base64的加密解密
    堆排序
    归并排序
    单例模式
  • 原文地址:https://www.cnblogs.com/starcrm/p/12984396.html
Copyright © 2011-2022 走看看