Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document open source YCSB single node #4350

Closed
robert-s-lee opened this issue Feb 11, 2019 · 3 comments
Closed

Document open source YCSB single node #4350

robert-s-lee opened this issue Feb 11, 2019 · 3 comments
Assignees
Labels
O-sales-eng Internal source: Sales Engineering

Comments

@robert-s-lee
Copy link
Contributor

robert-s-lee commented Feb 11, 2019

Examples below uses _sysb which is defined as a bash function available at the bottom of this doc.

Couple of notes:

  • Open ssh session
  • Open CockroachDB admin UI
  • YCSB has workloads a,b,c,d,e,f. Workloads D and E during the test run making them not entrant. The recommended sequence load a, run a,b,c,f,d load e, run e
  • insertorder=ordered as CockroachDB's sharding does not require hashed primary key.
  • The performance listed here is for illustration purposes only. The actual performance is dependent on hardware and database setup and other factors.
  • workload generator and database are running on the same hardware. This will sometimes prevent prevent the workload generator from pushing the database as the CPUs is starved.
  • use the latest (0.16 snapshot) YCSB which has support multi-row insert

functional-test

cockroach sql --insecure  -e "drop table if exists usertable"
_ycsb load a
_ycsb run a

  • take a look at CockroachDB Admin UI for workload and hardware metrics. Hardware metrics are used to identify resource constraints that prevents better performance.

screen shot 2019-02-11 at 3 45 54 pm

screen shot 2019-02-11 at 3 46 08 pm

screen shot 2019-02-11 at 3 51 24 pm

  • the first bump _ycsb load a. Note each insert statement contains 500 rows.
  • the second bump is _ycsb run a

concurrency-test-one-workload

  • run the test by stepping the concurrency from 1,2,4,8,16,32,64 and 128
for t in 1 2 4 8 16 32 64 128; do 
  _ycsb_threads=$t; _ycsb run b
  sleep 10 
done

concurrency-test-multiple-workloads

for t in 1 2 4 8 16 32 64 128; do 
  _ycsb_threads=$t
  _ycsb run a &
  _ycsb run b &
  _ycsb run c &
  _ycsb run f &
  wait
  sleep 10
done

ycsb.sh.zip

@jseldess
Copy link
Contributor

@robert-s-lee, does this tie into the larger project to show how to use cockroach workloads to calibrate a cluster? #4303

Or is this something distinct?

@jseldess jseldess added the O-sales-eng Internal source: Sales Engineering label Feb 11, 2019
@robert-s-lee
Copy link
Contributor Author

#4220 is the master issue to document YCSB and sysbench. Two purposes: one is to document YCSB ad sysbench, the other is to step through the methodology of starting with a functional test, then adding more concurrency gradually before going too big.

@robert-s-lee robert-s-lee changed the title Document YCSB single node Document open source YCSB single node Feb 26, 2019
@jseldess
Copy link
Contributor

@johnrk, @mwang1026, @rmloveland, closing this for now. If this topics comes out of your Product Areas' problems to solve or priorities in the future, we can create a new issue with more context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-sales-eng Internal source: Sales Engineering
Projects
None yet
Development

No branches or pull requests

3 participants