`

redis读写性能测试

阅读更多

     一、基础测试: 

     redis读写性能测试redis官网测试读写能到10万左右,非常吸引人,我在研发环境对redis进行测试,发现redis的速度的确很快,此测试是为日后应用优化提供研发参考。由于受到网络环境的限制,本机是100M的网卡,最高10M/s的传输速度,所以当测试到每秒读取45000条时,测试机和测试服务器上传或者下载速度已经达到10M/s,基本到了网络瓶颈,无法再提高,这个应该是网络吞吐量的原因,不过CPU的利用率直到20%左右。如果网络传输速度更快的话,应该还可以提高,另外,在不进行批量获取数据的时候,也就是每次发送一个key获取一个值的方式处理,基本处理能力只在1100条左右,估计是受制于网络速度的原因。

   二、 加项测试:

    (1)单条处理:

    通过同一网段的两台Xeon(R) E5520 服务器之间进行测试,网络速度也是10M/s的速度,通过发送一个key获取一个value的方式测试,速度明细要高于开发电脑的速度,也就是linux环境快于window环境,每秒能处理4000条左右的数据,比之前1000条提高4倍,而在服务器本机进行测试,性能突然开始变态了,存储数据达到1.5万左右,获取速度达到2万左右,比网络环境提供5倍,比windows环境提高20倍;

    (2) 批量处理:

    批量存储、批量获取,linux服务器直接处理速度在4万以上,与windows环境下速度相当;不过在本机环境下,性能又开始变态了,批量存储速度能达到15万到20万以上,批量获取更是达到40万以上,整体性能比Linux服务器直接提高10倍到20倍。

 

    三、个人经验:

    (1)批量处理:

        redis在处理数据时,最好是要进行批量处理,将一次处理1条数据改为多条,性能可以成倍提高。测试的目的就是要弄清楚批量和非批量处理之间的差别,从测试结果来看,性能差异非常大,所以在开发过程中尽量使用批量处理,即每次发送多条数据,以抵消网络速度影响。

 

    (2)网络:

       redis在处理时受网络影响非常大,所以,部署最好能在本机部署,如果本机部署redis,能获取10到20倍的性能。集群情况下,网络硬件、网速要求一定要高。

      

    (3)内存:

       由于我在测试环境遇到过redis读取超时,排查原因定位在Linux交互分区上。如果没有足够内存,linux可能将reids一部分数据放到交换分区,导致读取速度非常慢导致超时。所以一定要预留足够多的内存供redis使用。

 

具体测试内容如下:

   

测试环境:

redis主机:

    Red Hat Enterprise Linux Server release 5.4 (Tikanga)

    Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz

    内存 8G

    硬盘 300G

测试主机:

    window7 

    eclipse  Juno Service Release 2

    cpu i3 -2100

    内存 4G

     硬盘500G

  java连接redis客户端jedis-2.1.0.jar

 测试数据:

   512个字符字符串

 测试结果:

 

 批量获取

 

 非批量提交处理数量

 

 

批量设置

 

 

非批量设置

 

 

 

内网服务器直接数据处理

 



 
 

服务器本机上测试

 

 

  • 大小: 33.8 KB
  • 大小: 11.1 KB
  • 大小: 10.6 KB
  • 大小: 20.6 KB
  • 大小: 28.6 KB
  • 大小: 58.5 KB
  • 大小: 19.4 KB
2
0
分享到:
评论
7 楼 chwshuang 2014-11-13  
langke93 写道
这个图表用什么做的

WORD 插入 折线图
6 楼 langke93 2014-11-05  
这个图表用什么做的
5 楼 c77_cn 2014-08-06  
楼主能否将曲线图详细解释一下?x、y轴及曲线分别表示什么意思?感觉看的不是很懂呀。。。
4 楼 chwshuang 2014-05-22  
yunhaibin 写道
你好可以把你写的多线程测试的java代码发给我吗?谢谢了


不好意思,这个代码早没了!
3 楼 yunhaibin 2014-05-09  
你好可以把你写的多线程测试的java代码发给我吗?谢谢了
2 楼 chwshuang 2014-03-10  
zhangzhj85 写道
用的什么软件测试的?

自己写的java程序跑的。没有用到测试软件。
1 楼 zhangzhj85 2014-03-04  
用的什么软件测试的?

相关推荐

    redis 读写性能测试代码

    在本文中,我们将深入探讨Redis的读写性能测试,特别是针对“写”的操作性能。 在标题中提到的“redis 读写性能测试代码”,我们通常会使用Java的Jedis库来实现。Jedis是Java社区广泛使用的Redis客户端,提供了丰富...

    redis 性能测试(读写)

    这里的"redis 写的操作性能测试代码"主要涉及如何使用 Jedis 客户端来测试 Redis 的写入性能。以下是一些相关的知识点: 1. **Redis 写操作**: - `SET` 命令:基本的设置键值对操作,例如 `set("key", "value")`...

    Redis性能测试

    在本文中,我们将深入探讨Redis的性能测试,同时与CoolHash和SqlServer进行对比,以了解它们在不同场景下的表现。我们将通过一个小例子来展示测试过程,并提供相关的源码和jar包供读者参考。 1. Redis性能特性: ...

    最全redis线程池实现,Spring支持,redis Cluster线程池,主从Redis读写分离,sentenl读写分离等

    以上就是关于Redis线程池实现,Spring支持,Redis Cluster线程池,主从Redis读写分离,Sentinel读写分离等知识点的详细说明。正确配置和使用这些技术,可以帮助我们构建高效、可靠的Redis缓存系统。在实际项目中,...

    c++ 操作redis数据库

    Redis是一个开源的、基于内存的数据结构存储系统,它支持多种数据类型,如字符串、哈希、列表、集合、有序集合等,且具有高速读写能力。而C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程...

    VB_redis缓存读写类及调用demo

    总之,通过VB.Redis缓存读写类,VB6开发者能够轻松地集成Redis到他们的项目中,提升应用的性能和响应速度。这不仅展示了VB6的兼容性和生命力,也体现了Redis的易用性和普及性。对于那些仍使用VB6的企业来说,这是一...

    C++ 操作Redis数据库VS2013测试Demo及redis sdk

    Redis是一个高性能的键值对存储系统,常被用作数据库、缓存和消息中间件。在C++中与Redis交互,通常需要借助客户端库,这里提到的是`hiredis`,这是一个轻量级、高效的纯C语言实现的Redis客户端库。 1. **hiredis...

    Redis集群测试

    7. **测试策略**:测试Redis集群时,应包括性能测试(如并发读写测试)、压力测试(模拟大规模数据和高并发场景)、故障恢复测试(验证故障转移的正确性)以及数据一致性测试(检查数据在不同节点间的同步情况)。...

    Redis.rar Jedis 读写效率测试 hgetAll hmset 10万数量级别测试

    测试Jedis在10万次读写级别情况下的读写效率。1)单 Jedis 读写1条命令,读写玩即close() 2) 单Jedis读写多条命令,此种情况尝试不释放Jedis连接,由于Jedis本质是tcp长连接,需要做异常判断  3)Pipeline方式...

    php连接代理 提供连接池 异步pdo redis 读写分离 负载均衡 日志打印等功能

    Redis通常用于缓存、队列服务和发布/订阅等场景,它的高速性能和丰富的数据结构使其成为数据库连接代理的一个理想补充。 “读写分离”是一种数据库架构策略,旨在提高数据库系统的可扩展性和性能。在这个代理中,...

    redis64 for windows

    - 内存存储:Redis所有数据都存储在内存中,提供高速的数据读写性能。 - 支持主从复制:可以配置多个从节点,实现数据的高可用性和故障切换。 - 事务支持:Redis支持简单事务,可以一次执行多个命令。 - 丰富的...

    redis百万并发访问数据库测试

    Redis,全称Remote Dictionary Server,是一款高性能...在"redis百万并发访问数据库测试"的场景中,我们需要对以上各个知识点有深入理解,并结合实际测试结果,不断优化Redis的配置和使用方式,以达到理想的服务性能。

    Windows版 Redis 5.0.14

    - `redis-benchmark.exe`是性能测试工具,可以评估Redis服务器的读写速度和并发性能,对于系统调优非常有用。 4. **Redis Cluster**: - `redis-cluster`标签表示支持Redis的集群功能。Redis Cluster是其分布式...

    windows版Redis1

    总的来说,这个压缩包提供了一个完整的Windows版Redis环境,包括运行、配置、管理和性能测试所需的所有组件。用户只需解压并按照文档指导进行简单的设置,就能在Windows系统中享用到Redis的强大功能。无论你是开发者...

    Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis Sentinel提供了高可用性和自动化故障恢复能力,通过主从复制保证数据安全,读写分离提升系统性能,哨兵监控与故障转移保证服务稳定性。通过正确配置和部署,可以构建一个可靠的Redis集群,确保业务连续性。在...

    redis-windows-redis7.0.5.zip

    4. `redis-benchmark.exe`:性能测试工具,可以评估Redis的读写速度和吞吐量。 5. 可能还包括一些文档、示例配置、依赖库等辅助文件。 在实际部署和使用中,用户需要根据自己的需求配置`redis.windows.conf`,如...

    redis软件+客户端+java测试代码

    在描述中提到的"java测试代码"是指利用Java语言编写的示例代码,这些代码通常包含连接Redis、执行命令、读写数据等操作,有助于学习者快速理解和应用Redis。Java的Jedis是常用的Redis客户端库,它提供了一系列API,...

    Redis测试程序

    总之,“Redis测试程序”是一个全面展示Redis数据结构和操作的C#应用,不仅覆盖了基本的数据操作,还涉及到性能测试、异常处理和代码组织等多个方面,对于理解和使用Redis具有很高的参考价值。通过阅读和实践这个...

    Redis测试Demo

    9. **集群支持**:当单个实例无法满足需求时,Redis集群提供了一种水平扩展的方式,可以在多个节点之间分布数据,提高可用性和读写性能。 在实际应用中,Redis广泛用于缓存高访问量的数据,比如网页的静态内容、...

Global site tag (gtag.js) - Google Analytics