Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/couchbaselabs/meep-meep
A workload generator for .NET Couchbase Client
https://github.com/couchbaselabs/meep-meep
Last synced: 2 days ago
JSON representation
A workload generator for .NET Couchbase Client
- Host: GitHub
- URL: https://github.com/couchbaselabs/meep-meep
- Owner: couchbaselabs
- License: apache-2.0
- Created: 2014-06-09T16:57:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-04-21T19:16:39.000Z (over 3 years ago)
- Last Synced: 2024-04-12T16:19:15.550Z (9 months ago)
- Language: C#
- Size: 10.7 MB
- Stars: 4
- Watchers: 172
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MeepMeep [![Build status](https://ci.appveyor.com/api/projects/status/yxxv2cmrgdocbr9j/branch/master?svg=true)](https://ci.appveyor.com/project/Couchbase/meep-meep/branch/master)
MeepMeep is a simple workload generator that can be used to simulate workloads against a Couchbase cluster using the .NET client.
## NOTE: Not supported under Couchbase Enterprise Support Subscriptions
## Building & running
You can build and run the project from the root of the project like this:
```bash
dotnet build
dotnet run -p src/MeepMeep/MeepMeep.csproj
```## Authentication with Couchbase Server 5.0+ (RBAC)
From Couchbase Server 5.0, Role based authentication was introduced which replaced the previous bucket password. To test a Cluster that is RBAC enabled, you will need to create a user with the same name as the bucket you want to test with.
For example:
```bash
dotnet run -p src/MeepMeep/MeepMeep.csproj --bucket test --bucketpassword password123
```## Options
MeepMeep is a simple console application. Run it with the `--help` switch to show help text that describes each available option.
For example to run with all default values:
`dotnet run -p src/MeepMeep/MeepMeep.csproj`.There are three `workloads` currently shipped with MeepMeep: `MutationPercentage`, `AddJsonDocumentWorkload` and `AddAndGetJsonDocumentWorkload`.
The options are:
```text
-n, --nodes (Default: couchbase://localhost) Space separated list of nodes to connect to.-b, --bucket (Default: default) Name of the Bucket
-p, --bucketpassword (Default: ) Password for the bucket.
-c, --num-clients (Default: 1) Number of client sessions.
-s, --wl-size (Default: 20000) The workload size. Depending on Workload, it could e.g. represent the num of documents to work with (per client session).
--doc-sample-path (Default: ) Path to a file with an UTF8 JSON document, e.g used for inserts.
--doc-key-prefix (Default: mm) Used as a prefix to generated document keys.
--doc-key-seed (Default: 0) Used as a starting seed when generating document keys.
--doc-key-range (Default: 1000) The maximum range of document IDs use above doc-key-seed.
--clusteruser (Default: Administrator) Cluster Administrator username.
--clusterpassword (Default: password) Cluster Administraor password.
-w, --warmup-ms (Default: 100) Determines how long time (ms) it takes before a workload's operation results is being seen as part of the workload.
-v, --verbose (Default: false) Determines detail level of output generated by output writers etc.
-r, --mutation-percentage (Default: 0.33) The percentage of operations that should be mutations.
--workload-type (Default: MutationPercentage) The type of workload to be used.
-t, --enable-timings (Default: false) Time operations and output at end of workload.
--use-json (Default: false) Enable writing JSON values instead of raw bytes.
--use-sync (Default: false) Uses a synchronous workload instead of async.
--use-ssl (Default: false) Enable SSL connections between client and Couchbase server.
--verify-ssl-certs (Default: false) Verify SSL certificates.
--pool-min (Default: 1) Sets the minimum connection pool size.
--pool-max (Default: 1) Sets the maximum connection pool size.
--flush-bucket (Default: false) Flush the bucket before executing workloads.
--rate-limit (Default: 0) Limits the number of operations per second. Zero applies no limit.
--help Display this help screen.
--version Display version information.
```## MyGet feed
We push every incremental change to a public MyGet feed