`
zhaohaolin
  • 浏览: 1012151 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MemcacheDB, Tokyo Tyrant, Redis performance test 性能测试【转】

阅读更多

    ming1016@gmail.com

    I had tested the following key-value store for set() and get()
        MemcacheDB, use memcached client protocol.
        Tokyo Tyrant (Tokyo Cabinet), use memcached client protocol
        Redis, use JRedis Java client
    1. Test environment
    1.1 Hardware/OS

    2 Linux boxes in a LAN, 1 server and 1 test client
    Linux Centos 5.2 64bit
    Intel(R) Xeon(R) CPU E5410  @ 2.33GHz (L2 cache: 6M), Quad-Core * 2
    8G memory
    SCSI disk (standalone disk, no other access)
    1.2 Software version

    db-4.7.25.tar.gz
    libevent-1.4.11-stable.tar.gz
    memcached-1.2.8.tar.gz
    memcachedb-1.2.1-beta.tar.gz
    redis-0.900_2.tar.gz
    tokyocabinet-1.4.9.tar.gz
    tokyotyrant-1.1.9.tar.gz
    1.3 Configuration

    Memcachedb startup parameter
    Test 100 bytes
    ./memcachedb -H /data5/kvtest/bdb/data -d -p 11212 -m 2048 -N -L 8192
    (Update: As mentioned by Steve, the 100-byte-test missed the -N paramter, so I added it and updated the data)
    Test 20k bytes
    ./memcachedb -H /data5/kvtest/mcdb/data -d -p 11212 -b 21000 -N -m 2048

    Tokyo Tyrant (Tokyo Cabinet) configuration
    Use default Tokyo Tyrant sbin/ttservctl
    use .tch database, hashtable database

    ulimsiz=”256m”
    sid=1
    dbname=”$basedir/casket.tch#bnum=50000000″ # default 1M is not enough!
    maxcon=”65536″
    retval=0

    Redis configuration
    timeout 300
    save 900 1
    save 300 10
    save 60 10000
    # no maxmemory settings
    1.4 Test client

    Client in Java, JDK1.6.0, 16 threads
    Use Memcached client java_memcached-release_2.0.1.jar
    JRedis client for Redis test, another JDBC-Redis has poor performance.
    2. Small data size test result

    Test 1, 1-5,000,000 as key, 100 bytes string value, do set, then get test, all get test has result.
    Request per second(mean)key-value-performance-1(Update)
    Store 	Write 	Read
    Memcached 	55,989 	50,974
    Memcachedb 	25,583 	35,260
    Tokyo Tyrant 	42,988 	46,238
    Redis 	85,765 	71,708

    Server Load Average
    Store 	Write 	Read
    Memcached 	1.80, 1.53, 0.87 	1.17, 1.16, 0.83
    MemcacheDB 	1.44, 0.93, 0.64 	4.35, 1.94, 1.05
    Tokyo Tyrant 	3.70, 1.71, 1.14 	2.98, 1.81, 1.26
    Redis 	1.06, 0.32, 0.18 	1.56, 1.00, 0.54
    3. Larger data size test result

    Test 2, 1-500,000 as key, 20k bytes string value, do set, then get test, all get test has result.
    Request per second(mean)
    (Aug 13 Update: fixed a bug on get() that read non-exist key)
    key-value-performance-2(update)
    Store 	Write 	Read
    Memcachedb 	357 	327
    Tokyo Tyrant 	3,501 	257
    Redis 	1,542 	957
    4. Some notes about the test

    When test Redis server, the memory goes up steadily, consumed all 8G and then use swap(and write speed slow down), after all memory and swap space is used, the client will get exceptions. So use Redis in a productive environment should limit to a small data size. It is another cache solution rather than a persistent storage. So compare Redis together with MemcacheDB/TC may not fair because Redis actually does not save data to disk during the test.

    Tokyo cabinet and memcachedb are very stable during heavy load, use very little memory in set test and less than physical memory in get test.

    MemcacheDB peformance is poor for write large data size(20k).

    The call response time was not monitored in this test.
    请在左侧登录后再来发评论

 
分享到:
评论

相关推荐

    Memcached VS Redis

    Memcached VS Redis:2者究竟有哪些区别,什么场景下应用那种类型的缓存服务器。

    memcachedb

    因此,它的性能测试通常会关注以下几个方面: - **吞吐量**:单位时间内能够处理的操作数量。 - **延迟**:完成单个操作所需的时间。 - **并发能力**:支持同时连接的客户端数量。 通过这些指标,可以评估 ...

    Redis实战 中文 .pdf

    Redis以其高性能、高可用、易扩展的特性,成为现代分布式系统不可或缺的一部分。 Redis是一种基于键值对的内存数据库,同时也提供了简单的消息队列功能,并且支持多种数据结构,包括字符串(strings)、散列...

    Redis中文参考.pdf

    Redis是一款开源的高性能键值存储数据库系统,它通常被用作数据库、缓存和消息代理,支持多种类型的数据结构,如字符串、散列、列表、集合、有序集合等。Redis支持数据的持久化,可以将内存中的数据保存到磁盘上,以...

    Redis操作基础文档

    1. **键值存储**:如Tokyo Cabinet/Tyrant、Berkeley DB、MemcacheDB、Redis等,特点是使用键值对形式存储数据,访问速度快,但缺乏复杂查询功能。 2. **文档数据库**:如MongoDB、CouchDB等,使用JSON或类似格式...

    《Redis实战》电子书

    **Redis**作为一款高性能的键值(Key-Value)存储系统,在现代软件架构中扮演着重要的角色。与其他键值存储系统如**Voldemort**、**Dynamo**、**memcachedb**、**Cassandra**、**memcached**和**Hypertable**等相比,...

    Redis实战《红丸出品》

    Redis作为一款开源的高性能键值对数据库,因其操作简便、性能强大以及多种数据类型支持,在IT领域被广泛应用。本知识体系将从Redis的基本概念、数据类型操作、常用命令以及高级特性等方面进行详细说明。 ### Redis...

    Redis实战中文PDF

    - **memcachedb**: 结合了memcached的高性能和传统键值存储系统的持久化功能,提供了一个兼具速度与可靠性的解决方案。 - **Cassandra**: 一种分布式NoSQL数据库,支持横向扩展,主要用于处理大量结构化数据,具有高...

    redis实战中文 pdf

    - **特点**: memcachedb 结合了memcached的高性能和NoSQL数据库的功能,支持ACID事务。 - **应用场景**: 适用于需要高性能缓存和简单事务支持的应用场景。 ##### 1.1.4 Cassandra - **特点**: Cassandra 是一种...

    memcachedb 手册

    - 通过这些命令,开发者可以快速测试和调试 `memcachedb` 实例。 4. **API 使用** - `memcachedb` 提供多种语言的客户端库,如 C、Python、Java 和 PHP,使得开发者能够轻松地在应用中集成缓存功能。 - API 包含...

    Redis实战》电子书.pdf

    Redis是一种开源的高性能键值对数据库,它通常用作数据库、缓存或消息代理。本篇知识整理将基于《Redis实战》电子书的目录和部分章节内容,对Redis的核心知识点进行介绍。 ### 第一章Redis快速入门 #### 1.1 Key-...

    Redis实战.pdf

    - **定义**:memcachedb是在memcached的基础上添加了持久化功能的一个高性能键值存储系统。 - **特点**: - 继承了memcached的高性能和简单易用的特点。 - 支持自动故障恢复和数据复制功能,增强了数据的安全性。 ...

    Redis实战 中文.pdf

    - **社交网络**:利用Redis的高性能来存储用户关系和动态数据。 - **电商网站**:用Redis进行购物车数据的缓存,提高页面加载速度。 - **游戏开发**:使用Redis存储玩家状态等实时变化的数据。 #### 三、初识...

    Redis实战 中文完整版.pdf

    Redis是一款开源的、高性能的键值存储数据库系统,它支持多种数据结构,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)和有序集合(sorted sets)。在本文件中,我们可以了解到Redis的相关特性...

    redis实战中文版

    ### Redis实战中文版知识点概述 #### 一、Key-Value存储系统简介 ##### 1.1.1 Voldemort - **特点**: Voldemort是一款分布式键值存储系统,特别适用于读多写少的应用场景。 - **应用场景**: 主要应用于需要高度可...

    redis实战 完整版

    ### Redis实战完整版知识点概述 #### 一、Key-Value存储系统简介 ##### 1.1.1 Voldemort - **特点**: Voldemort是一款分布式键值存储系统,特别适用于大规模读写密集型的应用场景。 - **应用场景**: 常用于缓存、...

Global site tag (gtag.js) - Google Analytics