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

RFC: Cartridge bench tool for Tarantool #645

Open
filonenko-mikhail opened this issue Oct 13, 2021 · 5 comments
Open

RFC: Cartridge bench tool for Tarantool #645

filonenko-mikhail opened this issue Oct 13, 2021 · 5 comments

Comments

@filonenko-mikhail
Copy link

filonenko-mikhail commented Oct 13, 2021

Cartridge bench tool for Tarantool

User Story

User setup Tarantool single node or cluster and try to understand «How many specific traffic Tarantool can handle on this hardware»

The same official things are for redis, postgresql and aerospike.

arch-ux-speedometer

Propolsal

Make a bench module for cartridge cli. Bench module makes some load for Tarantool.

MVP

  • Server
tarantool -e 'box.cfg()'
  • Benchmark
cartridge-cli bench
  • Output
1m rps

The simplest case "Single Node Forever Alone"

Bench tool

  • Connects to single-node tarantool
  • Creates _cartridge_bench_kv
    key value
    string string
  • Opens 10 connections
  • Makes 50% write 50% read requests
    • with 1024 byte random key
    • with 10*1024 bytes random value
  • With rate 10 simultaneous requests in every connection
  • Measures
    • requests per second
    • bytes per second

"Twix Pair Candy Popkorn"

User sets up tarantool leader and tarantool follower with replication.
Bench tool makes the same scenario as for "Single Node", but read requests go to the follower.

"Splinter Cell"

User sets up vshard cluster with one router and two storages.
Bench tool

  • Connects to all of nodes
  • Sets up spaces on shards _cartridge_bench_sharded_kv
    key value bucket_id
    string string long
  • bucket_id = mpcrc32(key)
  • Opens 10 connections
  • Makes 50% write 50% read requests
    • with 1024 byte random key
    • with 10*1024 bytes random value
  • With rate 10 simultaneous requests in every connection
  • User vshard.router.* functions for requests
  • Measures
    • requests per second
    • bytes per second
@filonenko-mikhail
Copy link
Author

filonenko-mikhail commented Oct 15, 2021

MVP PoC

  • 10 simultanios connection
  • keep 10 requests on the fly
  • during 20 seconds
  • wait for connection closing
  • count total request done

Material for

Status — DONE

@filonenko-mikhail
Copy link
Author

filonenko-mikhail commented Oct 22, 2021

Next — Single Node Forever Alone

  • create space from golang
  • make load profile
    • 50% write
    • 50% read requests
  • make main as cartridge-cli module
    cartridge bench --url 127.0.0.1:3301 --duration 20 --connections 10
    
  • make command line args for:
    • url to server
      • user
      • password
    • connection count
    • request simultaneus (on the fly)
    • time duration
    • key size
    • payload size
  • research for internet wide benchmark reports (probably JMeter, Ya.Tank)

@filonenko-mikhail
Copy link
Author

Plan For MIFI

  • Learning Tarantool and Golang connector infrastructure
  • Make Golang connection to Tarantool with defer closing
  • Make function for request using golang connection
  • Make functions as goroutines for multiplexing requests to Tarantool
  • Synchronizing goroutines
  • Make timer for waiting connection pool
  • Make load profile (Сделать настроиваемый профиль нагрузки)
  • Выполнить кластеризацию Tarantool
  • Балансировать нагрузку на репликасет Tarantool
  • Сделать шардированный кластер Tarantool
  • Маршрутизировать запросы к шардированному кластеру

@ligurio
Copy link
Member

ligurio commented Nov 18, 2021

@LeonidVas
Copy link
Collaborator

Hi! I have a conversation with Dima and looked at the descriptions of the redis-benchmark and clickhouse-benchmark and I would like to write some thoughts.
As I understand it, redis-benchmark generates the database itself in accordance with the test scenarios, and clickhouse-benchmark runs the given workload on a previously prepared database.
According to the code previously proposed in the PR, we want to implement the redis-benchmark approach. As for me, this is a more interesting approach, but we need to understand what and how we plan to measure, because if there are various requests (insert, update, select, delete), some starvation may begin (for example, we have a lot of delete, but small amount of insert, respectively, we will spend a lot of time waiting insert). It is possible that it is necessary to slightly change the approach to the filling of the DB, measurements.
For example, we can also measure the average (moving average) execution time of a request depending on its type (this will not give us information about ​​the throughput, but it will give information about ​​the latency for this type of load). We can also measure the duration of the benchmark in the number of requests and set the time limit as a limitation, then we can prepare a DB in which starvation will be unlikely / impossible.
Also, a couple of points on which I think it is important to clarify:

  • The work of the tool should be predictable from launch to launch, because if the results when launching the tool with the same parameters differ by 10 times, then it will not be clear what you are measuring, the difference in hardware or how lucky the launch was.
  • Tool should be positioned as giving an approximate picture of the DB performance on a given hardware with a given workload, and not the best performance that can be achieved.

I plan to take a closer look at the redis-benchmark and see how the DB is filled there in various test scenarios.

Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 7, 2021
…rantool

User setup Tarantool single node or cluster and try to understand «How many specific traffic Tarantool can handle on this hardware»
The same official things are for redis, postgresql and aerospike.

Cartridge bench module makes some load for Tarantool.

user@cartridge-cli % ./cartridge bench
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
Data schema
|       key             |       value
------------------------------------------
|       random(10)      |       random(20)
Benchmark start
...
Benchmark stop

Results:
        Success operations:  1169481
        Failed  operations:  0
        Request count:  1170485
        Time (seconds):  10.000551801
        Requests per second:  117042
LeonidVas pushed a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 7, 2021
User setup Tarantool single node or cluster and try to understand
"How many specific traffic Tarantool can handle on this hardware"
The same official things are for redis, postgresql and aerospike.

Cartridge bench module makes some load for Tarantool.

user@cartridge-cli % ./cartridge bench
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
Data schema
|       key             |       value
------------------------------------------
|       random(10)      |       random(20)
Benchmark start
...
Benchmark stop

Results:
        Success operations:  1169481
        Failed  operations:  0
        Request count:  1170485
        Time (seconds):  10.000551801
        Requests per second:  117042

Part of tarantool#645
LeonidVas pushed a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 7, 2021
User setup Tarantool single node or cluster and try to understand
"How many specific traffic Tarantool can handle on this hardware"
The same official things are for redis, postgresql and aerospike.

Cartridge bench module makes some load for Tarantool.

user@cartridge-cli % ./cartridge bench
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
Data schema
|       key             |       value
------------------------------------------
|       random(10)      |       random(20)
Benchmark start
...
Benchmark stop

Results:
        Success operations:  1169481
        Failed  operations:  0
        Request count:  1170485
        Time (seconds):  10.000551801
        Requests per second:  117042

Part of tarantool#645
LeonidVas pushed a commit that referenced this issue Dec 7, 2021
User setup Tarantool single node or cluster and try to understand
"How many specific traffic Tarantool can handle on this hardware"
The same official things are for redis, postgresql and aerospike.

Cartridge bench module makes some load for Tarantool.

user@cartridge-cli % ./cartridge bench
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
Data schema
|       key             |       value
------------------------------------------
|       random(10)      |       random(20)
Benchmark start
...
Benchmark stop

Results:
        Success operations:  1169481
        Failed  operations:  0
        Request count:  1170485
        Time (seconds):  10.000551801
        Requests per second:  117042

Part of #645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 10, 2021
…rantool

User setup Tarantool single node or cluster and try to understand «How many specific traffic Tarantool can handle on this hardware»
The same official things are for redis, postgresql and aerospike.

Cartridge bench module makes some load for Tarantool.

user@cartridge-cli % ./cartridge bench
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
Data schema
|       key             |       value
------------------------------------------
|       random(10)      |       random(20)
Benchmark start
...
Benchmark stop

Results:
        Success operations:  1169481
        Failed  operations:  0
        Request count:  1170485
        Time (seconds):  10.000551801
        Requests per second:  117042
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 10, 2021
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 10, 2021
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 14, 2021
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Dec 24, 2021
@Totktonada Totktonada added teamX and removed teamP labels Jan 21, 2022
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jan 31, 2022
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling
...
Pre-filling is finished

Benchmark start
...
Benchmark stop

Results:
        Success operations: 1430826
        Failed  operations: 0
        Request count: 1432454
        Time (seconds): 10.000640
        Requests per second: 143236
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jan 31, 2022
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling
...
Pre-filling is finished

Benchmark start
...
Benchmark stop

Results:
        Success operations: 1430826
        Failed  operations: 0
        Request count: 1432454
        Time (seconds): 10.000640
        Requests per second: 143236
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jan 31, 2022
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.2 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling
...
Pre-filling is finished

Benchmark start
...
Benchmark stop

Results:
        Success operations: 1430826
        Failed  operations: 0
        Request count: 1432454
        Time (seconds): 10.000640
        Requests per second: 143236
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Feb 11, 2022
Patch for load profile with additional select and update operations and with support for benchmark space pre-filling

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Feb 24, 2022
Patch for load profile with additional select and update operations and with support for benchmark space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
@filonenko-mikhail filonenko-mikhail self-assigned this Mar 23, 2022
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Apr 1, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Apr 1, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jun 9, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jun 9, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jun 9, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
Kirill-Churkin added a commit to Kirill-Churkin/cartridge-cli that referenced this issue Jun 9, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of tarantool#645
LeonidVas pushed a commit that referenced this issue Jun 9, 2022
Patch for benchmark tool with load profile and space pre-filling.

Added:
- Flag "insert" - percentage of insert operations to bench space.
- Flag "select" - percentage of select operations from bench space.
- Flag "update" - percentage of update operations in bench space.
- Flag "fill" - number of records to pre-fill the space.

```
user@cartridge-cli % ./cartridge bench --select=30 --update=30 --insert=40 --fill=100000
Tarantool 2.8.3 (Binary) f4897ffe-98dd-40fc-a6f2-21ca8bb52fe7

Parameters:
        URL: 127.0.0.1:3301
        user: guest
        connections: 10
        simultaneous requests: 10
        duration: 10 seconds
        key size: 10 bytes
        data size: 20 bytes
        insert: 40 percentages
        select: 30 percentages
        update: 30 percentages

Data schema
| key                            | value
| ------------------------------ | ------------------------------
| random(10)                     | random(20)

The pre-filling of the space has started,
because the insert operation is not specified
or there was an explicit instruction for pre-filling.
...
Pre-filling is finished. Number of records: 100000

Benchmark start.
...
Benchmark stop.

Results:
        Success operations: 1332979
        Failed  operations: 0
        Request count: 1334004
        Time (seconds): 10.000733
        Requests per second: 133390
```

Part of #645
@TarantoolBot TarantoolBot removed the teamU label Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants