Giter Club home page Giter Club logo

ch3's Introduction

CH3 Benchmark

CH3 measures a mixed workload performance with transactional, analytical and full test search (FTS) queries in Couchbase Server. However, it is not specific to Couchbase, rather it can be implemented on other NoSQL platforms that support query, analytics and search services.

** For Couchbase, we have implemented "nestcollectionsdriver.py". Create a new file in the 'drivers' directory for your system that follows the proper naming convention. For example, the driver class in "nestcollectionsdriver.py" is 'NestcollectionsDriver'.

*** CH3 supports FTS queries, transactional queries based on TPC-C, and TPC-H-equivalent analytical queries.

Executing CH3 in a Couchbase cluster

In the following commands, replace the IP addresses with the appropriate ones. Besides, the parameters we use are:

userid = Administrator
password = password
warehouses = 10
aclients = 1
fclients = 40
tclients = 40
  1. Create the "bench" bucket with scope and collections
sh -x util/cbcrbucketcollection.sh <Data_IPAddress> Administrator:password
  1. Create GSI indexes
/opt/couchbase/bin/cbq -e=<Index_IPAddress>:8093 -u=Administrator -p=password < util/cbcrindexcollection.sql
  1. Prepare shadow for analytics
/opt/couchbase/bin/cbq -e=<Analytics_IPAddress>:8095 -u=Administrator -p=password < util/crdataset.n1ql
/opt/couchbase/bin/cbq -e=<Analytics_IPAddress>:8095 -u=Administrator -p=password < util/crdatasetindexes.n1ql
  1. Create FTS indexes
sh -x util/cbcrftsindexcollection.sh <FTS_IPAddress> Administrator:password
  1. Load data into "bench" bucket
python3 ./tpcc.py --warehouses 10 --no-execute nestcollections \
--data-url <Data_IPAddress> --userid Administrator --password password \
--datasvc-bulkload --tclients 40

Note that we have three load modes: (1) datasvc-bulkload, (2) datasvc-load, (3) qrysvc-load. In the above command, we have "nestcollections" for the driver name.

  1. Execute CH3 benchmark with appropriate number of Txn, FTS and analytical clients
python3 ./tpcc.py --warehouses 10 --aclients 1 --tclients 40 --fclients 40 \
--query-url <Query_IPAddress>:8093 --analytics-url <Analytics_IPAddress>:8095 --fts-url <FTS_IPAddress>:8094 \
--query-iterations 2 --warmup-query-iterations 1 nestcollections \
--userid Administrator --password password --no-load

If there is no analytical clients, then we need "duration" parameter.

python3 ./tpcc.py --warehouses 10 --tclients 40 --aclients 0 --fclients 40 \
--query-url <Query_IPAddress>:8093 --analytics-url <Analytics_IPAddress>:8095 --fts-url <FTS_IPAddress>:8094 \
--duration 180 --warmup-duration 90 nestcollections \
--userid Administrator --password password --no-load

Useful Links:

CH3 extends CH2 benchmark framework.

ch2: https://github.com/couchbaselabs/ch2

py-tpcc: https://github.com/couchbaselabs/py-tpcc

ch3's People

Contributors

mehnazmahin avatar

Watchers

Steve Yen avatar Sarath Lakshman avatar Jeffry Morris avatar Priya Rajagopal avatar James Cloos avatar Brett Lawson avatar Wayne Siu avatar  avatar Dan Owen avatar Dave Finlay avatar  avatar Adam Fraser avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.