1.在DRAM上模拟一块 Persistent Memory(DAX PM)
流程在这里:
在GRUB中配置pmem
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="memmap=nn[KMG]!ss[KMG]"
例如,memmap=4G!12G 在第 12 和 16 GB 之间保留 4 GB 内存。下面的例子展示了如何在 CentOS 7.0 BIOS 或基于 EFI 的机器上编辑 GRUB 文件和构建配置
reboot and type dmesg to look for the pmem
dmesg
安装支持DAX的文件系统
1.mkdir /mnt/mem
2.sudo mkfs.ext2 /dev/pmem0
3.sudo mount -o dax /dev/pmem0 /mnt/mem
2.编译leveldb
流程在这里:
!!别忘了把源码放在你想运行的文件系统下!!
可能遇到的问题
1.无法安装 build-essiensials
How to Resolve Unmet Dependencies in Ubuntu
2.在 leveldb/cmake/build中 缺少 CMakelists.txt
3.YCSB database benchmark(For LevelDB)
流程在这里:
什么是YCSB benchmark
wikipedia - YCSB(Yahoo! Cloud Serving Benchmark))
中间件(simplehttp&&simpleleveldb)
YCSB 是一种测试数据库的benchmark
benchmark 测试 leveldb原理
A. 目标数据库(待测试的数据库)作为服务端运行起来,
并提供数据库操作相关的restful api,比如
http://localhost:8080/put
http://localhost:8080/get
http://localhost:8080/del
B. YCSB Client 作为客户端,通过restful api调用数据库,
从而测试数据库的性能。
中间件配置步骤
YCSB 测试 LevelDB 数据库(配置simpleleveldb)
中间件配置中的问题
1.安装 mvn ----------->apt install maven
2./usr/bin/env: ‘python’: No such file or directory------->stackoverflow
3.ycsb-leveldb: 修改mvn源 ------>change maven source(CSDN)
4.完成
确保你完成了以下步骤
1.编译 leveldb
2.配置 simplehttp中的simpleleveldb
3.在 simplehttp/simpleleveldb shell输入
./simpleleveldb --address=localhost --port=8080 --db-file=test
to run leveldb as Server
4.在 ycsb-leveldb中shell输入
mvn -pl com.yahoo.ycsb:leveldb-binding -am clean package
5.最后
YCSB 以Client运行 连接 数据库
./ycsb run leveldb -P workloads/workloada
we got it!!!!