Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/couchbase/moss
moss - a simple, fast, ordered, persistable, key-val storage library for golang
https://github.com/couchbase/moss
Last synced: about 2 months ago
JSON representation
moss - a simple, fast, ordered, persistable, key-val storage library for golang
- Host: GitHub
- URL: https://github.com/couchbase/moss
- Owner: couchbase
- License: other
- Created: 2016-02-06T20:27:22.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-03-03T01:10:06.000Z (almost 3 years ago)
- Last Synced: 2024-07-31T20:49:17.342Z (5 months ago)
- Language: Go
- Homepage:
- Size: 904 KB
- Stars: 950
- Watchers: 72
- Forks: 59
- Open Issues: 46
-
Metadata Files:
- Readme: README-dgm.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-go - moss - Moss is a simple LSM key-value storage engine written in 100% Go. (Database / Databases Implemented in Go)
- awesome-go-storage - moss - Moss is a simple LSM key-value storage engine written in 100% Go. (Database)
- awesome-go - moss - moss - a simple, fast, ordered, persistable, key-val storage library for golang - ★ 647 (Database)
- awesome-go-extra - moss - a simple, fast, ordered, persistable, key-val storage library for golang|881|57|46|2016-02-06T20:27:22Z|2022-03-03T01:10:06Z| (Generators / Databases Implemented in Go)
- awesome-go-storage - moss - Moss is a simple LSM key-value storage engine written in 100% Go. (Database)
README
# Instructions for DGM testing for moss
dgm_moss_test.go is a moss component level test that exercises moss.
Included in the test is a simulator of the moss herder memory stalling
functionality.The test can be configured to generate a Results*.json file that can be
used with python script graph/dgm-moss-ploy.py to plot the resutls.## Steps
Here is an example shell script to exercise the test.
```
#!/bin/bash
findDisk()
{
dev=`df ${MossStore} | grep -v Filesystem | awk {'print $1'}`
dirName=`dirname ${dev}`
devName=`basename ${dev} ${dirName}`
echo ${devName}
}clearCaches()
{
sudo sync
sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"
sudo sh -c "echo 2 > /proc/sys/vm/drop_caches"
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"}
MossStore="/mossstore/MossStoreTest"
mkdir -p -m=0777 ${MossStore}
diskMonitor=`findDisk`
runDesc="${gitInfo}"go test -v -test.run TestMossDGM -test.timeout 99999s -runTime 5m -memQuota 4gb -keyLength 48 -valueLength 48 -keyOrder random -numWriters 1 -writeBatchSize 100000 -writeBatchThinkTime 1ms -numReaders 16 -readBatchSize 100 -readBatchThinkTime 1ms -outputToFile -dbPath ${MossStore} -diskMonitor ${diskMonitor} -runDescription ${runDesc} -dbCreate
```## Ploting a graph of the results
The python script requires numpy, pandas, matploglib
```
python dgm-moss-plot.py Results_...json
```This will process a Results...png file.
## Notes
This test only runs properly on Linux as it gathers stats from /proc.