Erlang自研引擎与Redis-Mensia比较

数据库性能测试

windows

测试环境: 系统:win7 ,内存:16G , CPU:Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3.40GHz ,p25单节点
写(每条数据大小50Byte):
速率(不间断写入):25000条/秒
写入上限:1200w条

无锁读(单条数据50Byte):
速率(不间断读取):35000条/秒
上限:无

锁读(单条数据50Byte):
速率(不间断读取):30000条/秒
上限:无

写(单条数据200k):
速率(不间断写入): 5000条/秒
上限: 5W条

同时读写(单条数据50Byte):
速率: 20000条/秒
上限:800w条

写入速率瓶颈在磁盘io,写入规模与内存有关。超过写上限时,内存飙升,写入超时。

linux(单节点)

测试环境:
系统:Centos 5.8 ,内存:8G , CPU:Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3.40GHz ,p25单节点

写(每条数据大小50Byte):
速率(不间断写入):25000条/秒(数据规模10w条)
写入上限:600w条

无锁读(单条数据50Byte):
速率(不间断读取):3000条/秒(数据规模10w条)
上限:无

锁读(单条数据50Byte):
速率(不间断读取):2500条/秒(数据规模10w条)
上限:无

写(单条数据200k):
速率(不间断写入): 2000条/秒(数据规模5w条)
上限: 5W条

同时读写(单条数据50Byte):
速率: 20000条/秒
上限:500w条
写入速率瓶颈在磁盘io,写入规模与内存有关。超过写上限时,内存飙升,写入超时。

linux(集群)

服务器环境:
系统:Centos 5.8 ,内存:8G , CPU:Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3.40GHz 测试项目:p25 (由两个slave节点组成的集群)

客户端环境(本地虚拟机):
系统:Centos 7.0, 内存:8G , CPU:Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3.40GHz,测试方法:用tsung(压力测试工具)模拟多个客户端异步向服务器发起请求(每一次请求对应一次数据写入)

写(单条数据50k):
速率:7000条/秒
规模:100w条

读(单条数据50k):
速率: 7000条/秒
规模:100w条

同时读写(单条数据50k):
速率:2500条/秒
规模:50w条

性能瓶颈在网络io。

mensia 、自研数据库、redis 比较

  mnesia 自研数据库 redis
测试环境 linux 虚拟机 centos 7.0, erlang otp 17.5 linux 虚拟机 centos 7.0, erlang otp 17.5 linux 虚拟机 centos 7.0, erlang otp 17.5, Redis 2.8.7, eredis
单节点单进程(数据规模100w条)
写耗时(单位秒) 36.6 37.3 223.5
读耗时(单位秒) 29.8 14.0 217.4
删除耗时(单位秒) 36.8 25.6 221
同时读写耗时(单位秒) 38.2/41.8 38.5/44.0 300/301
单节点多进程(数据规模100w条)
写平均耗时(10个进程,单位秒) 104.3 154(无锁) 373
读平均耗时(10个进程,单位秒) 90.7 54.3 373
读平均耗时(20个进程,单位秒) 196.1 97.0 746
读平均耗时(40个进程,单位秒) 430.9 205.6 1465
读平均耗时(50个进程,单位秒) 545.9 258.7 1773
单节点多进程(数据规模10w条)
读平均耗时(10个进程,单位秒) 8.6 5.2 38
读平均耗时(20个进程,单位秒) 19.2 9.8 74
读平均耗时(40个进程,单位秒) 42.0 20.6 142
读平均耗时(60个进程,单位秒) 67.3 31.7 214
单节点多进程(数据规模100w条,多张表)
读写平均耗时(10个进程,10张表,单位秒) 83/71 52/135 125/130
读写平均耗时(20个进程,20张表,单位秒) 179/170 115/270 243/251
读写平均耗时(40个进程,40张表,单位秒) 400/404 / 486/537

redis

eredis 支持的命令

-SET 插入或修改 -DEL 删除 -GET 读取

-MSET 多条数据插入 -MGET 多条数据读取

HASH hash相关命令

LIST list相关命令 -LPOP -LPUSH -RPUSH -LRANGE

SET set相关命令 -SADD

Transactions 事务相关命令 -MULTI -EXEC

Pipelining -多条语句顺序执行

redis 安装

服务端安装部署
http://www.cnblogs.com/haoxinyue/p/3620648.html
http://blog.csdn.net/rachel_luo/article/details/8858250

客户端编译 http://blog.csdn.net/u012973744/article/details/29566121

redis 分布式部署

http://blog.csdn.net/zq9017197/article/details/17357219
http://www.kokojia.com/article/9496.html
http://blog.csdn.net/pi9nc/article/details/17719737

时间: 2024-08-02 00:27:47

Erlang自研引擎与Redis-Mensia比较的相关文章

自研容器调度引擎Newben会成为“中国的K8s”?

作者:精灵云 前言: 一个月以前,我们对外详细介绍了内置在精灵云EcOS(Enterprise Container Operation System,企业级容器云平台)中的全自研容器调度框架Newben ,文章刚发出,就有很多人向小GO询问Newben是否会开源的问题.在此,小GO引用精灵云创始人晏东对CSDN的专访回答作为给大家的统一答复:"Newben适用于所有以Docker作为虚拟化引擎的场景,目前主要面向中大型企业,不对外开放代码."也就是说,Newben目前暂不开源,而是内置

细说分布式Redis架构设计和踩过的那些坑

摘要:本文章主要分成五个步骤内容讲解 Redis.RedisCluster和Codis; 我们更爱一致性; Codis在生产环境中的使用的经验和坑们; 对于分布式数据库和分布式架构的一些看法; Q & A环节. Codis是一个分布式Redis解决方案,与官方的纯P2P的模式不同,Codis采用的是Proxy-based的方案.今天我们介绍一下Codis及下一个大版本RebornDB的设计,同时会介绍一些Codis在实际应用场景中的tips.最后抛砖引玉,会介绍一下我对分布式存储的一些观点和看法

天涯明月刀游戏引擎是什么 游戏引擎解读

天涯明月刀电影级游戏画面感刷新了国产武侠3D网游图形.技术和画面表现能力的上限. 不管是极具写实的场景效果还是人物一招一式.都成为玩家对这部电影网游期待的理由. 对于天涯明月刀这款国产大作来说,游戏引擎必定是被玩家关注的热点.那么天涯明月刀游戏引擎是什么呢,今天小编就带领大家一起来解读天刀游戏引擎. 天刀这画面.好多人对引擎会浮想联翩.告诉你吧,天刀是自主研发引擎.英伟达提供技术,该引擎中文名是水银 这款引擎能够说接近3大神引擎的水平了.接下来我们一起来了解下天刀游戏引擎吧! 天涯明月刀 天涯明

通过MySql自动同步刷新redis

在服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不适合使用Redis直接作为数据库.这俩家伙简直可以用“男女搭配,干活不累”来形容,搭配起来使用才能事半功倍.本篇我们就这两者如何合理搭配以及他们之间数据如何进行同步展开. 一般地,Redis可以用来作为MySQL的缓存层.为什么MySQL最好有缓存层呢?想象一下这样的场景:在一个多人在线的游戏里,排行榜.好友关系.队列等直接关系数据的情景

[转载] Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑们

原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=208733458&idx=1&sn=691bfde670fb2dd649685723f7358fea&scene=1&key=c76941211a49ab58cb17c68ecaeeda0f1c083d9508a0f6629461fff9025fd87de4706bd9c1730e0ddbab70568b34b16a&ascene=0&

万圣节福利:红孩儿3D引擎开发课程《3ds max导出插件初步》

红孩儿3D引擎开发课堂 QQ群:275220292 国内最详尽教授怎样开发3D引擎的地方!揭开3D引擎开发最不为人知的秘密! 万圣节福利,国内最详尽的3ds max导出插件编程指南0基础篇免费发放!            前言:今天网易的<乱斗西游>上线AppStore ,将继完美世界<黑暗黎明>后再次证明自研引擎的实力!假设你想成为引擎研发高手,那么,一切,将从3ds max导出插件起步~ 第九章课程<3ds max导出插件初步> 一.3ds max导出插件简单介绍:

QQ空间玩吧HTML5游戏引擎使用比例分析

GameLook报道/“Cocos 2015开发者大会(春季)”于4月2日在国家会议中心圆满落下帷幕.在会上全新的3D编辑器,Cocos Runtime等产品重磅公布,给业界带来了Cocos这款国产引擎的最新动态.同时Cocos引擎创始人王哲也提到在目前国内最重要的HTML5游戏渠道玩吧中Cocos已经成为使用率最高的游戏引擎.那么这一数据是如何获取的呢?国内HTML5游戏渠道中目前现状究竟如何?今天我们让数据来说话. 直击现场 1.背景分析 2015年,HTML5平台可谓火爆异常,广大CP纷纷

如何选择纠删码编码引擎 | 纠删码技术详解(上)

作者介绍: 徐祥曦,七牛云工程师,独立开发了多套高性能纠删码/再生码编码引擎.柳青,华中科技大学博士,研究方向为基于纠删码的分布式存储系统. 前言:随着数据的存储呈现出集中化(以分布式存储系统为基础的云存储系统)和移动化(互联网移动终端)的趋势,数据可靠性愈发引起大家的重视.集群所承载的数据量大大上升,但存储介质本身的可靠性进步却很小,这要求我们必须以更加经济有效的方式来保障数据安全. 副本与纠删码都是通过增加冗余数据的方式来保证数据在发生部分丢失时,原始数据不发生丢失.但相较于副本,纠删码能以

通过Gearman实现MySQL到Redis的数据同步

对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的NoSQL数据库,就非常适合担任实时数据的容器. 但是往往我们又有数据可靠性的需求,采用MySQL作为数据存储,不会因为内存问题而引起数据丢失,同时也可以利用关系数据库的特性实现很多功能. 所以就会很自然的想到是否可以采用MySQL作为数据存储引擎,Redis则作为Cache.而这种需求目前还没有看