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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
8月前
|
缓存 NoSQL 测试技术
【Redis】benchmark 测试工具
【Redis】benchmark 测试工具
|
消息中间件 SQL 分布式计算
Nexmark Benchmark
Nexmark Benchmark test
296 0
|
数据可视化 Java 编译器
如果你想写自己的Benchmark框架
如果你想写自己的Benchmark框架
|
JSON 前端开发 测试技术
benny 介绍 - 一个简单的 benchmark 框架
benny 是一个简单的 benchmark 框架,当你需要测试自己的库或是方法性能时,可使用它来进行对其进行基准测试。
|
测试技术 Apache
性能测试工具Apache benchmark
性能测试工具Apache benchmark
365 0
|
人工智能 分布式计算 算法
面向DSSoC的Benchmark的需求
本文从Benchmark的定义出发,依次介绍了常用的Benchmark的情况,包括Dhrystone、Coremark,以及个人PC,个人终端等等Benchmark,然后,进一步分析DSSoC系统对于Benchmark的需求,提出了“面向DSSoC的Benchmark的需求”,最后,对未来的Benchmark做了一些展望。
面向DSSoC的Benchmark的需求
|
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.
1926 0
Redis vs. Memcached: In-Memory Data Storage Systems
|
测试技术 数据安全/隐私保护 NoSQL
|
NoSQL PHP Redis
WordPress Caching Solutions Part 1 – Performance Benchmarking and Installing Redis Object Caching
In previous tutorials I took you through the steps to set up a new server instance, then get your WordPress sites up and running, including transactional emails.
2387 0
|
SQL 固态存储 关系型数据库
Performance Evaluation Methods for Distributed MPP Databases - Best Practice for PostgreSQL
Evaluating the performance of a database usually involves either industry standard testing or modeling testing based on the business model.
2189 0