Redis Primer(1)基于JedisPool的Redis hset并发性能测试
- Redis Server 与 Redis Client 位于同一台机器(从而排除带宽限制带来的影响);
- Redis Server 版本:2.6.7;
- Redis Client API:Jedis 2.1.0,使用 JedisPool(依赖包使用 commons-pool-1.5.3.jar);
1. 测试一:单线程客户端基于不同Key和Value长度
1.1. 测试内容
- 不变量:
- JedisPool 参数确定
- minIdle = 0
- maxIdle = 50
- maxActive = 500
- 测试 hset 操作
- Field 长度为 32 bytes
- 控制变量:
- 测试内容:
1.2. 测试结果
Key 长度从 1 到 256 逐次 2 倍递增, Value 长度从 8 到 32768 逐次 4 倍递增。
1.3. 结论
Throughput 随 Key 长度变化不大(更大范围内的 Key 长度没有测试,因为一般情况下 Key 超过 256 字节的情况较少,请本人使用方式也符合该范围),但与 Value 长度相关性极大(范围较大,因本人的应用场景中 Value 值较大)。
1.4. 建议
- 减少每个查询中的访问次数(优化查询,类似于 Database 中优化 SQL 语句);
- 要尽可能的减小 Value。
测试二:单线程客户端基于不同连接池参数
2.1. 测试内容
- 不变量:
- 测试 hset 操作
- Key 长度为 32 bytes
- Field 长度为 32 bytes
- Value 长度为 256 bytes
- 控制变量
- 测试内容
2.2. 测试结果
maxActive 从 25 到 300 每次递增 25, maxIdle 从 50 到 450 每次递增 100。
- 以 maxActive 长度为 X 轴绘制测试结果:
2.3. 结论
在目前的测试参数范围内,差别不大,或许需要进一步测试。从该测试结果看 maxIdle=25 且 maxActive=250 的 JedisPool 设置能够带来最大的 hset(32bits, 32bits, 256bits) 吞吐量。
2.4. 建议
- 采用 maxIdle=25 且 maxActive=250 的 JedisPool 设置。
测试三:多线程客户端不同hset次数
3.1. 测试内容
- 不变量:
- 测试 hset 操作
- Key 长度为 32 bytes
- Field 长度为 32 btyes
- Value 长度为 20480 bytes
- 控制变量
- hset 操作次数从 10000 到 1000000
- 测试内容
2.3. 测试结果
hset 操作次数从 10000 到 5120 500
2.4. 结论与建议
- 用多线程的客户端进行压力测试;
-
Redis 的并发性能相当不错,20KB 的数据(这已经相当大了)每秒可以写入 60000 多次,平均每秒 1200 MB,9600 Mb,约 9.6 Gb。
- 如果测试小数据,应该能达到 100,000/s 以上的并发量
-
转载请注明来自(Poechant)的 CSDN 博客:http://blog.csdn.net/poechant,作者微博:weibo.com/lauginhom
-
分享到:
相关推荐
linux中安装redis和jedis及jedispool; redis安装所遇到的问题;
1.全网最强最好用redis 封装连接池,redis 配置详解 2.jar 内置最全 最安全的两种redis 连接池 创建方式(synchronized and look), 3.通过了自己公司生产环境的检测 4.使用方法:只需要将jar 放入项目 lib 下面 ...
redis辅助文档 + jedis/
spring-data-redis-2.1.5.RELEASE和jedis2.9.0,用于java使用redis开发。
Redis Windows32位+64位安装包,Linux压缩包, Redis图形操作管理软件,Jedis
redis连接池jar jedis+common
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
(window)Redis安装包,Redis桌面Manager,Jedis驱动包
基于北京尚硅谷周阳老师讲解的redis。个人学习总结: 包含redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用。
redis的安装包以及jedis 的jar
使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar
使用redis.clients.jedis.JedisPool配置jedis连接,进行数据缓存操作demo
redis数据库需要的额基础jar包;jedis-2.6.2.jar;commons-pool-1.5.3.jar;commons-pool2-2.4.2.jar
redis安装脚本+jred.jar.zip http://blog.csdn.net/u010386438/article/details/12951185 使用步骤
项目由maven构建,使用springMVC整合了Redis的集群,发布到tomcat中,访问http://localhost:8080/SpringRedisCluster/redis/hello.do测试即可,前提是配好了redis的集群。
Redis使用lettuce和jedis
Redis的官方推荐Java客户端——Jedis 此Jar包为Jedis 2.9.0版(2016年7月22日发布) 支持Redis 3.0 (亲测有效) 使用方法: import redis.clients.jedis.Jedis; Jedis jedis = new Jedis("localhost"); jedis.set...
redis博客总集-jedis连接redis的所有操作
标签:clients、jedis、redis、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
java redis使用之利用jedis实现redis消息队列.docx