chaoslawful 发表于 2013-2-7 09:40:04

Erlang ETS/DETS性能评测

目的

Erlang自带了名为ETS(Erlang Term Storage)的纯RAM存储系统,以及名为DETS(Disk-based Erlang Term Storage)的RAM/Disk混合存储系统。为了评价ETS/DETS的性能并和Memcached进行比较,需要进行本测试。
 
测试环境

公司配发的笔记本,Intel Duo 1.8GHz(双核),1GB RAM,60G SATA HD,Linux kernel 2.6.24(Ubuntu 8.04 Hardy)。

Erlang OTP/R12B4,使用自带的ETS/DETS模块。

Memcached 1.2.2,使用libmemcached 0.22作为客户端。
 
测试用例

循环插入100w次简单键值对,键值均为32-bit整数循环变量值,因此每个键值对的有效大小为(4+4)=8个byte。
 
测试结果

Erlang ETS

运行时间1.914s,QPS 522466.04
 
Erlang DETS

运行时间45.603s,QPS 21928.38
 
Memcached

运行时间54.22s,QPS 18443.3
 
初步结论

在测试使用的场景下,可以看出Erlang ETS的性能遥遥领先,这应该是因为ETS存储资源都在单个OS进程内,无须额外协议进行交互所致;Erlang DETS和Memcached的性能基本一致。
 
页: [1]
查看完整版本: Erlang ETS/DETS性能评测