78 Commits (6c50a4042a921e9fd032300bfd03152b9eb0a3ef)

Author SHA1 Message Date
Sayan Nandan 2b9a3ca6c1
Merge branch 'engine/v2' into next 10 months ago
Sayan Nandan 01c684bd38
Allow non empty DDL drops
Drop even if non empty during benchmark
10 months ago
Sayan Nandan c8a457c226
Implement benches for SELECT
Also cleaned up unused AST impls
10 months ago
Sayan Nandan 0fdd615665
Simplify entity handling, impl describe and use 10 months ago
Sayan Nandan 4ba7b97ac7
Fix windows builds
Also added changelog entries
10 months ago
Sayan Nandan f5866bc22e
Add new fury benchmark engine 10 months ago
Sayan Nandan a3d87e4850
Make sure that model drops are synchronized across the system 10 months ago
Sayan Nandan 250a2b3c16
Implement new benchmark engine 10 months ago
Sayan Nandan daf0f32c30
Implement new benchmark tool 10 months ago
Sayan Nandan fff5780586
Remove old tools 10 months ago
Sayan Nandan 79f8630424
Use `Ident` to avoid major future refactors 2 years ago
Sayan Nandan ba17f0a0cd
Cleanup code 2 years ago
Sanjay Sharma 736e411d1f
Add cli tests for sky-bench (#289) 2 years ago
Sanjay Sharma 927836e170
Upgrading clap version to 4.x for skybench (#286) 2 years ago
Sayan Nandan 4d8e53f5cc
Cleanup and upgrade deps 2 years ago
Sayan Nandan 60d36af34b
Wait for threads to start up before returning 2 years ago
Sayan Nandan da645247d2
Refactor benchmarks into separate functions 2 years ago
Sayan Nandan 021579d4f8
Ensure that we don't exhaust memory while trying to generate packets 2 years ago
Sayan Nandan 0f11dcfb88
Re-implement benchmark tool
This commit re-implements the benchmark tool, doing a lot of refactoring and
speeding up things, while reducing memory usage. Some notes:

1. The `testkey` subcommand was removed. This was needed because it makes no
sense to have it with data types like lists. I'll leave support for creating
test data for another PR (if at all needed)

2. The bench tool now uses lesser memory "in a go." Previously, all the get,
set and update packets were generated in one single step. This is no longer
done. Instead, we generate the packets for one type, run its corresponding
tests and completely deallocate and cleanup once we're done with that test.
This helps alleviate memory usage.

3. Instead of going in the sequence (GET, SET, UPDATE, ...) and running that
set some n times, we now run each test n times, and repeat that for the other
tests. The advantage of this is code clarity.

4. Finally, more validation checks were added ensuring that the benchmark tool
very closely resembles a "real-life" scenario wherein a connection is picked up
from a pool by a thread, a task run-on and evaluated.

5. Better logging and error reporting: instead of vaguely crashing, the
benchmark tool provides more clarity on errors. However, panics in worker
threads are yet to be improved in terms of reporting.
2 years ago
Sayan Nandan 0df1acd2be
Simplify imports 2 years ago
Sayan Nandan b3b236d9aa
Guard against allocation errors in `libstress` 2 years ago
Sayan Nandan b4e1a94c9c
Fix sample space size calculation 2 years ago
Sayan Nandan d4c10bee80
Upgrade deps and bump version 2 years ago
Sayan Nandan 339e3a4a55
Upgrade sky-bench to use new protocol 2 years ago
Sayan Nandan a018b76f40
Ensure empty payload is allowed
Bump Skytable driver git revision to ensure builds don't fail
(possibly a force push).
2 years ago
Sayan Nandan 2ccd771833
Fix `sky-bench testkey` causing RST due to wrong buffer size
Also fixed linuxpkg harness that was broken due to code cleanup
in 14d9eb4bac
3 years ago
Sayan Nandan c4eaf3d182
Bump version [skip ci] 3 years ago
Sayan Nandan b057de94e6
Bump version to 0.7.4 3 years ago
Sayan Nandan 426948f8d5
Upgrade deps 3 years ago
Sayan Nandan 12d90944a3
Report error when sample space is too low for key generation
It's important that we report an error when the sample space is too
low for the given k/v size and key count. Previously, we'd end up
entering an infinite wait time (essentially an infinite loop); this
has been fixed.
3 years ago
Sayan Nandan e67dfb2453
Clean-up validation impls in sky-bench 3 years ago
Sayan Nandan 026cddaaaf Use binary strings for benchtool 3 years ago
Sayan Nandan a34d7b11a6 Use `Query` to reduce mem usage and simplify impl
Also fixed an incorrect value for read_exact in the testkeys impl
3 years ago
Sayan 111d50b75e
Release v0.7.0 (#210)
* Simplify query gen in sky-bench and bump versions

* Upgrade to the latest driver version
3 years ago
Sayan Nandan 687ee0cb4c Switch `DEFAULT_REPEAT` to 5 iters
Also updated changelog
3 years ago
Sayan Nandan e55bf528be Fix `testkey` impl in sky-bench 3 years ago
Sayan Nandan 113af87f11 Fix sky-bench 3 years ago
Sayan Nandan 2ed3335a1e Upgrade all interfaces to use the latest driver
Fix lskeys impl
3 years ago
Sayan Nandan 0d2cfc661c Use tsymbol to determine if binary or unicode
This enables clients to know whether they should expect binary data or
an unicode string.
3 years ago
Sayan Nandan 35bc94f3f1 Use bounded channel when feasible 3 years ago
Sayan Nandan 2175a3c34e Switch to using volatile tables for benchmarking 3 years ago
Sayan Nandan 8f4b6b9e5c Enable the number of runs to be customized 3 years ago
Sayan Nandan 0843552dcb Repeat the bench to get average values 3 years ago
Sayan Nandan 4c47aa05ca Fix broken pipe error due to bad init of Workpool
The create table query was being run with the workpool that also
attempts to switch to it on init (pre-loop stage). This caused us to
read in lesser bytes (since we use read_exact) and after the connection
is closed, the server would respond with a broken pipe error as it fails
to write data to the closed connection (since it expected to write more)
3 years ago
Sayan Nandan 49f031c13b Improve sky-bench output
This adds lexicographical ordering to the output and streamlines the
number of significant digits to improve the overall output.
3 years ago
Sayan Nandan e9662ef8b6 Use read_exact in loop-stage closure for getpool 3 years ago
Sayan Nandan 11e0cf8426 Use read_exact for all tests to ensure verity 3 years ago
Sayan Nandan 7dc150c311 Use read_exact for reading the okay response 3 years ago
Sayan Nandan 3619d114b8 Fix logging output even when --json flag is passed
Also, the construction of `Workpool`s was simplified.
3 years ago
Sayan Nandan d705457309 Add UPDATE benches 3 years ago