performance benchmark : memcached vs Kyoto Tycoon

简介: kt: http://fallabs.com/kyototycoon/   说明: 1) 客户端服务端都是8核,千兆网卡 2) 表格横向是value的数据大小 3) 表格的值是每秒操作数 4) KC创建的是hash库   100B ...

kt:

http://fallabs.com/kyototycoon/

 

说明:

1) 客户端服务端都是8核,千兆网卡

2) 表格横向是value的数据大小

3) 表格的值是每秒操作数

4) KC创建的是hash库

 

100B

1KB

10KB

100KB

1MB

KT写

35599

35075

34518

33189

30562

KT读

37939

40209

38095

38197

40518

KT删

39968

39541

39200

37091

37664

MEMCACHE写

28735

29394

28977

27382

27824

MEMCACHE读

30515

30931

30057

28968

30721

MEMCACHE删

32362

32278

31715

30609

32175

 

image

 

补充说明:

1) kt启用GC,开启memcache协议扩展,使用的是一套客户端。

2) 客户端测试的时候使用并行库,多线程操作。

3) value都是string,不涉及序列化反序列化操作

结论:

咋KT的性能比memcached还牛呢?而且,数据移除之后马上释放磁盘,不像Mongodb和MSSQL一样会占着文件,除非repair才会收缩。

 

但是,数据量多了情况会不会发生变化呢?(以下测试使用三台机器,也就是一台机器保存三分之一的数据)

我们来看下KT在每多100万数据量的时候,读写效率的情况,表格的值同样是每秒操作数:

 

0

1

2

3

4

5

6

7

8

9

KT写

21010

11660

6888

4409

3311

2637

2387

1855

1803

1590

KT读

26063

25241

26139

25931

25810

26062

26106

26055

25465

3208

image

结论:

读基本没有下降,写大幅下降,总数据量在千万(由于是三台机器,所以最多的一台机器数据量也只有500万)的时候相比空数据的时候只有10%的写入速度,不如Mongodb,而读取速度相比Mongodb占优。

最后一次读取效率大幅降低,此时之前保存的数据已经过时,考虑是否GC回收过期数据会影响读取效率?

 

最后补充一点吧:KT默认情况下memcache plugin没有支持gets,如果要批量获取的话可以直接使用get命令。

作者: lovecindywang
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
3月前
|
缓存 关系型数据库 MySQL
【缓存大对决】Memcached VS MySQL查询缓存,谁才是真正的性能之王?
【8月更文挑战第24天】在现代Web应用中,缓存技术对于提升性能与响应速度至关重要。本文对比分析了Memcached与MySQL查询缓存这两种常用方案。Memcached是一款高性能分布式内存对象缓存系统,支持跨服务器共享缓存,具备灵活性与容错性,但受限于内存大小且不支持数据持久化。MySQL查询缓存内置在MySQL服务器中,简化了缓存管理,特别适用于重复查询,但功能较为单一且扩展性有限。两者各有所长,实际应用中可根据需求单独或结合使用,实现最佳性能优化。
102 0
|
存储 消息中间件 NoSQL
面试必问的 Redis:Memcached VS Redis
老态龙钟的Memcached 似乎已经无力阻挡 Redis 一统江湖了,但是在面试中,关于两者的比较还是频频出现,因此有必要了解下两者的区别。
171 0
|
NoSQL Redis Memcache
Redis vs. Memcached: In-Memory Data Storage Systems
Redis and Memcached are both in-memory data storage systems. Memcached is a high-performance distributed memory cache service, and Redis is an open-source key-value store.
1965 0
Redis vs. Memcached: In-Memory Data Storage Systems
|
C++ NoSQL Redis
|
6月前
|
Linux Memcache
Linux - 安装memcached
Linux - 安装memcached
107 0
Linux - 安装memcached
|
5月前
|
缓存 Java Spring
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
45 0
|
Docker 容器
Docker下安装memcached
Docker下安装memcached
156 0
|
Shell C语言
脚本用源码来安装 memcached 服务器
脚本用源码来安装 memcached 服务器
51 1