最近了解了一下LevelDB,发觉这个嵌入式的K-V数据性能不错,所以顺便想在使用层面了解一下.由于LevelDB也有针对.net的实现,所以就针对了LevelDB.NET进行了一个简单的读写压力测试.为了更客观的体现测试结构所以添加了大量的数据,和GET操作的时候随机已经有的KEY进行.

Set操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void WriteTest(object state)
        {
            while (true)
            {
 
                User user = new User();
                string id = GetKey().ToString("000000000000000000000");
                user.Name = id;
                user.EMail = id + "@msn.com";
                user.CrateTime = DateTime.Now;
                user.City = "GZ" + id;
                user.Country = "CN" + id;
                user.Address = "sdfffffffffffffffffffffffffafjsdfjsljfsjfls"+id;
                user.Phone = id;
                user.Region = "gd";
                db.Set(user.Name, user);
                System.Threading.Interlocked.Increment(ref mCount);
 
            }
        }

Get操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while (true)
            {
                User user;
 
                int index = ran.Next(100000, 500000);
                if (index == li)
                {
                    Console.WriteLine(index);
                }
                li = index;
 
                user = db.Get<User>(index.ToString("000000000000000000000"));
                System.Threading.Interlocked.Increment(ref mIndex);
                System.Threading.Interlocked.Increment(ref mCount);
 
            }

总结

LevenDB.Net的写入速度非常高效,在单线程写入的情况都可以达到接近5W/秒的效率,而在获取上的效率更高5线程的并发读竟然可以达到15W/秒的能力....这读效果是相当的可观.

LevelDB.NET性能测试的更多相关文章

  1. LevelDB和ForestDB简单性能测试(含代码)

    测试环境简单说明 Windows下测试 硬件环境如下: 处理器:Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz 内 存:8GB 硬 盘:希捷 ST1000DM003 操 ...

  2. LevelDB性能测试|Golang调用LevelDB

    LevelDB性能测试|Golang调用LevelDB 不同方式使用压力测试 用ssdb,TCP连接方式调用,底层存储levelDB 直接调用Cgo的levelDB (必须保证串行) 直接调用Gola ...

  3. Linux下RocksDB、LevelDB、ForestDB性能测试对比

    简要说明 本次环境与http://www.cnblogs.com/oloroso/p/6306352.html中的一致. 依然是增删查改各测试10000次,每个测试重复5次取平均值. 1.不使用jem ...

  4. HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  5. windows下编译leveldb

    前提条件,下载boost库并编译 boost库弄好后,就可以编译leveldb了 首先,下载leveldb-windows,这个github上有 一. 1文件->新建->从现有代码文件创建 ...

  6. leveldb原理和使用

    LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value.适用于保存数据缓存.日志存储.高速缓存等应用,主要是避 ...

  7. 【神经网络与深度学习】Leveldb的一些具体操作说明

    本文转自 http://blog.csdn.net/poweruser5956/article/details/7727325 Leveldb概述 leveldb提供了持久的键值对的存储.key和va ...

  8. 把rocksdb配置成leveldb

    将rocksdb配置成leveldb 1.配置方法 配置方式有三种: 第一种适合进行性能测试对比:是以参数形式在运行db_bench或ycsb-c的时候以参数形式将rocksdb将其配置成leveld ...

  9. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

随机推荐

  1. Ffplay视频播放流程

    主框架流程 下图是一个使用“gcc+eygpt+graphviz+手工调整”生成的一个ffplay函数基本调用关系图,其中只保留了视频部分,去除了音频处理.字幕处理以及一些细节处理部分. 注:图中的数 ...

  2. jquery中push()的用法(数组添加元素)

    push定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newelement2,....,newele ...

  3. <audio>使用2

    1.属性测试 <!--显示控件--> <audio src="../images/wind.mp3" id="audioOne" contro ...

  4. Oozie — What Why and How

    Oozie是什么? Oozie最初是Yahoo!为Hadoop开发的一个工作流调度器,一个工作流有多个Job组成.它允许用户提交由多个Job组成的工作流配置文件,这些Job既可以顺序执行,也可以并行执 ...

  5. django学习笔记一

    django作为一个python的开源项目发布,其web框架采用了mtv设计模式 在目前一些较为成熟的大型网站中有不少网站的应用基于django开发,django作为一个重量型的web框架提供了以下的 ...

  6. 大数值基础、for与while循环的简单对比

  7. 改错+GetMemory问题

    试题1: void test1() { ]; "; strcpy( string, str1 ); } 试题2: void test2() { charstring[],str1[]; in ...

  8. 小端存储(little Endian)大端存储(big Endian)

    小端存储--低内存低字节 87654321 字节或半字节的最低位字节(Lowest Significant Bit,LSB)存放于内存最低位字节地址上.即最低地址存放的最低字节,为Power PC,I ...

  9. php composer使用

    Composer-PHP中用来管理依赖(dependency) 定义 composer是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(librar ...

  10. tornado.web.Application类配置及使用

    Application configuration classtornado.web.Application(handlers=None, default_host='', transforms=No ...