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

Improve list test and resize admission test #136

Merged
merged 5 commits into from
Aug 2, 2024

Conversation

marco6
Copy link
Collaborator

@marco6 marco6 commented Jul 22, 2024

This PR fixes the list test so that it is possible to get reliable metrics from it and adds a test for pagination.

@marco6
Copy link
Collaborator Author

marco6 commented Jul 22, 2024

Depends on #131

Copy link

github-actions bot commented Jul 22, 2024

Benchmark Result

goos: linux
goarch: amd64
pkg: github.com/canonical/k8s-dqlite/test
cpu: AMD EPYC 7763 64-Core Processor                
                    │    Before    │                 After                 │
                    │    sec/op    │    sec/op     vs base                 │
Compaction/sqlite-4   3.383m ±  7%   3.806m ±  4%  +12.52% (p=0.001 n=7)
Compaction/dqlite-4   4.831m ± 16%   5.153m ± 12%        ~ (p=0.456 n=7)
Create/sqlite-4       1.357m ±  8%   1.272m ±  4%   -6.25% (p=0.002 n=7)
Create/dqlite-4       1.389m ±  5%   1.255m ±  4%   -9.66% (p=0.001 n=7)
Delete/sqlite-4       1.249m ± 11%   1.312m ±  4%        ~ (p=0.097 n=7)
Delete/dqlite-4       1.362m ±  6%   1.296m ±  4%   -4.83% (p=0.038 n=7)
Get/sqlite-4          276.4µ ±  2%   283.3µ ±  2%   +2.47% (p=0.002 n=7)
Get/dqlite-4          372.4µ ±  1%   375.4µ ±  2%        ~ (p=0.805 n=7)
Lease/sqlite-4        106.2µ ±  5%   105.7µ ±  4%        ~ (p=0.535 n=7)
Lease/dqlite-4        106.3µ ±  4%   107.1µ ±  4%        ~ (p=0.535 n=7)
List/sqlite-4         7.824m ±  6%
List/dqlite-4         5.535m ±  1%
Update/sqlite-4       1.381m ±  5%   1.316m ±  2%   -4.70% (p=0.004 n=7)
Update/dqlite-4       1.340m ±  7%   1.274m ±  8%        ~ (p=0.073 n=7)
geomean               1.120m         830.4µ         -0.39%               ¹
¹ benchmark set differs from baseline; geomeans may not be comparable

                    │        Before        │                     After                      │
                    │ page-cache-misses/op │ page-cache-misses/op  vs base                  │
Compaction/sqlite-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Compaction/dqlite-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/sqlite-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/sqlite-4                0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/dqlite-4                0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-4                 0.000 ± 0%
List/dqlite-4                 0.000 ± 0%
Update/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
geomean                                  ²                         +0.00%               ³ ²
¹ all samples are equal
² summaries must be >0 to compute geomean
³ benchmark set differs from baseline; geomeans may not be comparable

                    │        Before        │                     After                      │
                    │ page-cache-spills/op │ page-cache-spills/op  vs base                  │
Compaction/sqlite-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Compaction/dqlite-4           0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Create/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Delete/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/sqlite-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4                  0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/sqlite-4                0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/dqlite-4                0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-4                 0.000 ± 0%
List/dqlite-4                 0.000 ± 0%
Update/sqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
Update/dqlite-4               0.000 ± 0%               0.000 ± 0%       ~ (p=1.000 n=7) ¹
geomean                                  ²                         +0.00%               ³ ²
¹ all samples are equal
² summaries must be >0 to compute geomean
³ benchmark set differs from baseline; geomeans may not be comparable

                    │    Before     │                 After                 │
                    │ page-reads/op │ page-reads/op  vs base                │
Compaction/sqlite-4     107.6 ±  1%     110.0 ±  1%  +2.23% (p=0.001 n=7)
Compaction/dqlite-4     113.5 ±  1%     114.9 ±  3%       ~ (p=0.318 n=7)
Create/sqlite-4         21.42 ±  2%     21.47 ±  1%       ~ (p=0.165 n=7)
Create/dqlite-4         21.17 ±  1%     21.36 ±  1%       ~ (p=0.073 n=7)
Delete/sqlite-4         25.19 ±  1%     24.91 ±  3%  -1.11% (p=0.020 n=7)
Delete/dqlite-4         24.75 ±  1%     24.68 ±  0%       ~ (p=0.243 n=7)
Get/sqlite-4            11.99 ±  0%     11.96 ± 25%       ~ (p=0.696 n=7)
Get/dqlite-4            12.00 ±  0%     11.96 ±  0%  -0.33% (p=0.008 n=7)
Lease/sqlite-4         800.0µ ± 54%   1200.0µ ± 33%       ~ (p=0.825 n=7)
Lease/dqlite-4         1.200m ± 33%    1.200m ± 33%       ~ (p=1.000 n=7)
List/sqlite-4           291.0 ±  7%
List/dqlite-4           392.0 ±  2%
Update/sqlite-4         25.22 ±  2%     25.41 ±  1%       ~ (p=0.073 n=7)
Update/dqlite-4         25.03 ±  1%     25.04 ±  2%       ~ (p=0.515 n=7)
geomean                 9.265           5.278        +3.73%               ¹
¹ benchmark set differs from baseline; geomeans may not be comparable

                    │     Before     │                  After                   │
                    │ page-writes/op │ page-writes/op  vs base                  │
Compaction/sqlite-4     11.27 ± 0%         11.55 ± 1%  +2.48% (p=0.001 n=7)
Compaction/dqlite-4     8.790 ± 6%         9.100 ± 6%  +3.53% (p=0.011 n=7)
Create/sqlite-4         5.117 ± 0%         5.119 ± 0%       ~ (p=0.193 n=7)
Create/dqlite-4         4.132 ± 1%         4.144 ± 1%       ~ (p=0.051 n=7)
Delete/sqlite-4         5.293 ± 1%         5.330 ± 1%  +0.70% (p=0.011 n=7)
Delete/dqlite-4         4.320 ± 0%         4.392 ± 1%  +1.67% (p=0.001 n=7)
Get/sqlite-4            0.000 ± 0%         0.000 ± 0%       ~ (p=1.000 n=7) ¹
Get/dqlite-4            0.000 ± 0%         0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/sqlite-4          0.000 ± 0%         0.000 ± 0%       ~ (p=1.000 n=7) ¹
Lease/dqlite-4          0.000 ± 0%         0.000 ± 0%       ~ (p=1.000 n=7) ¹
List/sqlite-4           0.000 ± 0%
List/dqlite-4           0.000 ± 0%
Update/sqlite-4         5.140 ± 0%         5.141 ± 0%       ~ (p=0.473 n=7)
Update/dqlite-4         4.154 ± 0%         4.155 ± 1%       ~ (p=0.462 n=7)
geomean                            ²                   +0.72%               ³ ²
¹ all samples are equal
² summaries must be >0 to compute geomean
³ benchmark set differs from baseline; geomeans may not be comparable

                    │     Before     │                   After                   │
                    │ sec-reading/op │ sec-reading/op  vs base                   │
Compaction/sqlite-4   650.6µ ± 28%      731.3µ ±  45%        ~ (p=0.097 n=7)
Compaction/dqlite-4   578.5µ ± 50%      528.0µ ±  48%        ~ (p=0.805 n=7)
Create/sqlite-4       79.30µ ±  9%      89.50µ ±  14%  +12.86% (p=0.017 n=7)
Create/dqlite-4       48.80µ ± 26%      49.30µ ±  47%        ~ (p=0.710 n=7)
Delete/sqlite-4       137.7µ ± 55%      259.1µ ± 137%  +88.16% (p=0.017 n=7)
Delete/dqlite-4       51.50µ ± 46%      50.60µ ±  43%        ~ (p=1.000 n=7)
Get/sqlite-4          84.80µ ±  5%      92.70µ ±   4%   +9.32% (p=0.001 n=7)
Get/dqlite-4          34.90µ ± 12%      36.00µ ±  14%        ~ (p=0.273 n=7)
Lease/sqlite-4         0.000 ±   ?       0.000 ±   0%        ~ (p=0.462 n=7)
Lease/dqlite-4         0.000 ±  0%       0.000 ±   0%        ~ (p=1.000 n=7) ¹
List/sqlite-4         7.236m ±  6%
List/dqlite-4         4.249m ±  1%
Update/sqlite-4       163.2µ ± 40%      164.1µ ±   6%        ~ (p=0.875 n=7)
Update/dqlite-4       101.0µ ± 19%      102.9µ ±  20%        ~ (p=0.456 n=7)
geomean                            ²                    +7.93%               ³ ²
¹ all samples are equal
² summaries must be >0 to compute geomean
³ benchmark set differs from baseline; geomeans may not be comparable

                    │     Before     │                   After                   │
                    │ sec-writing/op │ sec-writing/op  vs base                   │
Compaction/sqlite-4   2.473m ± 16%       2.724m ±  7%  +10.15% (p=0.038 n=7)
Compaction/dqlite-4   69.10µ ± 62%       70.10µ ± 53%        ~ (p=0.456 n=7)
Create/sqlite-4       987.1µ ± 12%       878.1µ ±  7%  -11.04% (p=0.002 n=7)
Create/dqlite-4       19.30µ ± 45%       20.50µ ± 35%        ~ (p=0.777 n=7)
Delete/sqlite-4       868.7µ ± 13%       921.6µ ±  5%        ~ (p=0.073 n=7)
Delete/dqlite-4       23.10µ ± 24%       23.70µ ± 26%        ~ (p=0.244 n=7)
Get/sqlite-4           0.000 ±  0%        0.000 ±  0%        ~ (p=1.000 n=7) ¹
Get/dqlite-4           0.000 ±  0%        0.000 ±  0%        ~ (p=1.000 n=7) ¹
Lease/sqlite-4         0.000 ±  0%        0.000 ±  0%        ~ (p=1.000 n=7) ¹
Lease/dqlite-4         0.000 ±  0%        0.000 ±  0%        ~ (p=1.000 n=7) ¹
List/sqlite-4          0.000 ±  0%
List/dqlite-4          0.000 ±  0%
Update/sqlite-4       951.1µ ±  6%       883.6µ ±  3%   -7.10% (p=0.004 n=7)
Update/dqlite-4       17.30µ ± 75%       21.30µ ± 39%        ~ (p=0.902 n=7)
geomean                            ²                    +2.31%               ³ ²
¹ all samples are equal
² summaries must be >0 to compute geomean
³ benchmark set differs from baseline; geomeans may not be comparable

                    │     Before     │                 After                  │
                    │      B/op      │     B/op       vs base                 │
Compaction/sqlite-4    71.84Ki ±  3%   79.60Ki ±  4%  +10.80% (p=0.001 n=7)
Compaction/dqlite-4    103.4Ki ± 43%   138.8Ki ± 40%        ~ (p=0.097 n=7)
Create/sqlite-4        23.94Ki ±  0%   23.93Ki ±  0%        ~ (p=0.137 n=7)
Create/dqlite-4        21.91Ki ±  0%   21.89Ki ±  0%        ~ (p=0.058 n=7)
Delete/sqlite-4        26.67Ki ±  0%   28.38Ki ±  2%   +6.42% (p=0.001 n=7)
Delete/dqlite-4        23.69Ki ±  0%   25.25Ki ±  0%   +6.60% (p=0.001 n=7)
Get/sqlite-4           21.31Ki ±  0%   23.32Ki ±  0%   +9.46% (p=0.001 n=7)
Get/dqlite-4           19.37Ki ±  0%   21.11Ki ±  0%   +8.95% (p=0.001 n=7)
Lease/sqlite-4         12.33Ki ±  0%   12.33Ki ±  0%        ~ (p=1.000 n=7)
Lease/dqlite-4         12.33Ki ±  0%   12.33Ki ±  0%        ~ (p=1.000 n=7)
List/sqlite-4          1.076Mi ±  7%
List/dqlite-4         1019.9Ki ±  1%
Update/sqlite-4        26.16Ki ±  0%   26.16Ki ±  0%        ~ (p=0.685 n=7)
Update/dqlite-4        23.42Ki ±  0%   23.42Ki ±  0%        ~ (p=1.000 n=7)
geomean                44.13Ki         27.54Ki         +5.99%               ¹
¹ benchmark set differs from baseline; geomeans may not be comparable

                    │    Before    │                After                 │
                    │  allocs/op   │  allocs/op    vs base                │
Compaction/sqlite-4   3.173k ±  4%   3.276k ±  3%  +3.25% (p=0.017 n=7)
Compaction/dqlite-4   3.385k ± 52%   3.230k ± 40%       ~ (p=0.710 n=7)
Create/sqlite-4        533.0 ±  0%    533.0 ±  0%       ~ (p=1.000 n=7) ¹
Create/dqlite-4        406.0 ±  0%    406.0 ±  0%       ~ (p=1.000 n=7) ¹
Delete/sqlite-4        635.0 ±  1%    662.0 ±  3%  +4.25% (p=0.001 n=7)
Delete/dqlite-4        433.0 ±  0%    446.0 ±  0%  +3.00% (p=0.001 n=7)
Get/sqlite-4           505.0 ±  0%    538.0 ±  0%  +6.53% (p=0.001 n=7)
Get/dqlite-4           366.0 ±  0%    379.0 ±  0%  +3.55% (p=0.001 n=7)
Lease/sqlite-4         224.0 ±  0%    224.0 ±  0%       ~ (p=1.000 n=7) ¹
Lease/dqlite-4         224.0 ±  0%    224.0 ±  0%       ~ (p=1.000 n=7) ¹
List/sqlite-4         44.61k ±  6%
List/dqlite-4         25.28k ±  1%
Update/sqlite-4        611.0 ±  1%    611.0 ±  0%       ~ (p=0.462 n=7)
Update/dqlite-4        428.0 ±  0%    428.0 ±  0%       ~ (p=1.000 n=7) ¹
geomean               1.041k          590.8        +1.30%               ²
¹ all samples are equal
² benchmark set differs from baseline; geomeans may not be comparable

                    │        Before         │                      After                      │
                    │ network-bytes-read/op │ network-bytes-read/op  vs base                  │
Compaction/dqlite-4           25.54Ki ± 64%           43.38Ki ± 54%   +69.83% (p=0.038 n=7)
Create/dqlite-4                 423.6 ±  0%             423.9 ±  0%         ~ (p=0.129 n=7)
Delete/dqlite-4                 616.5 ±  0%            1187.0 ±  0%   +92.54% (p=0.001 n=7)
Get/dqlite-4                    494.1 ±  0%            1159.0 ±  0%  +134.57% (p=0.001 n=7)
Lease/dqlite-4                0.04400 ± 55%           0.06800 ± 48%         ~ (p=0.567 n=7)
List/dqlite-4                 152.3Ki ±  1%
Update/dqlite-4                 564.7 ±  0%             565.1 ±  0%         ~ (p=0.171 n=7)
geomean                         538.2                   316.0         +51.04%               ¹
¹ benchmark set differs from baseline; geomeans may not be comparable

                    │          Before          │                       After                       │
                    │ network-bytes-written/op │ network-bytes-written/op  vs base                 │
Compaction/dqlite-4              1.052Ki ±  4%              1.061Ki ±  2%        ~ (p=0.871 n=7)
Create/dqlite-4                    231.7 ±  1%                232.2 ±  1%        ~ (p=0.433 n=7)
Delete/dqlite-4                    245.9 ±  0%                424.1 ±  0%  +72.47% (p=0.001 n=7)
Get/dqlite-4                       80.49 ±  0%                80.57 ±  0%   +0.10% (p=0.001 n=7)
Lease/dqlite-4                    0.1088 ± 24%               0.1088 ± 25%        ~ (p=1.000 n=7)
List/dqlite-4                      65.17 ±  0%
Update/dqlite-4                    263.3 ±  0%                263.4 ±  0%        ~ (p=0.122 n=7)
geomean                            71.14                      79.21         +9.73%               ¹
¹ benchmark set differs from baseline; geomeans may not be comparable
Current status
goos: linux
goarch: amd64
pkg: github.com/canonical/k8s-dqlite/test
cpu: AMD EPYC 7763 64-Core Processor                
                    │    After     │
                    │    sec/op    │
Compaction/sqlite-4   3.806m ±  4%
Compaction/dqlite-4   5.153m ± 12%
Create/sqlite-4       1.272m ±  4%
Create/dqlite-4       1.255m ±  4%
Delete/sqlite-4       1.312m ±  4%
Delete/dqlite-4       1.296m ±  4%
Get/sqlite-4          283.3µ ±  2%
Get/dqlite-4          375.4µ ±  2%
Lease/sqlite-4        105.7µ ±  4%
Lease/dqlite-4        107.1µ ±  4%
Update/sqlite-4       1.316m ±  2%
Update/dqlite-4       1.274m ±  8%
geomean               830.4µ

                    │        After         │
                    │ page-cache-misses/op │
Compaction/sqlite-4           0.000 ± 0%
Compaction/dqlite-4           0.000 ± 0%
Create/sqlite-4               0.000 ± 0%
Create/dqlite-4               0.000 ± 0%
Delete/sqlite-4               0.000 ± 0%
Delete/dqlite-4               0.000 ± 0%
Get/sqlite-4                  0.000 ± 0%
Get/dqlite-4                  0.000 ± 0%
Lease/sqlite-4                0.000 ± 0%
Lease/dqlite-4                0.000 ± 0%
Update/sqlite-4               0.000 ± 0%
Update/dqlite-4               0.000 ± 0%
geomean                                  ¹
¹ summaries must be >0 to compute geomean

                    │        After         │
                    │ page-cache-spills/op │
Compaction/sqlite-4           0.000 ± 0%
Compaction/dqlite-4           0.000 ± 0%
Create/sqlite-4               0.000 ± 0%
Create/dqlite-4               0.000 ± 0%
Delete/sqlite-4               0.000 ± 0%
Delete/dqlite-4               0.000 ± 0%
Get/sqlite-4                  0.000 ± 0%
Get/dqlite-4                  0.000 ± 0%
Lease/sqlite-4                0.000 ± 0%
Lease/dqlite-4                0.000 ± 0%
Update/sqlite-4               0.000 ± 0%
Update/dqlite-4               0.000 ± 0%
geomean                                  ¹
¹ summaries must be >0 to compute geomean

                    │     After     │
                    │ page-reads/op │
Compaction/sqlite-4     110.0 ±  1%
Compaction/dqlite-4     114.9 ±  3%
Create/sqlite-4         21.47 ±  1%
Create/dqlite-4         21.36 ±  1%
Delete/sqlite-4         24.91 ±  3%
Delete/dqlite-4         24.68 ±  0%
Get/sqlite-4            11.96 ± 25%
Get/dqlite-4            11.96 ±  0%
Lease/sqlite-4         1.200m ± 33%
Lease/dqlite-4         1.200m ± 33%
Update/sqlite-4         25.41 ±  1%
Update/dqlite-4         25.04 ±  2%
geomean                 5.278

                    │     After      │
                    │ page-writes/op │
Compaction/sqlite-4     11.55 ± 1%
Compaction/dqlite-4     9.100 ± 6%
Create/sqlite-4         5.119 ± 0%
Create/dqlite-4         4.144 ± 1%
Delete/sqlite-4         5.330 ± 1%
Delete/dqlite-4         4.392 ± 1%
Get/sqlite-4            0.000 ± 0%
Get/dqlite-4            0.000 ± 0%
Lease/sqlite-4          0.000 ± 0%
Lease/dqlite-4          0.000 ± 0%
Update/sqlite-4         5.141 ± 0%
Update/dqlite-4         4.155 ± 1%
geomean                            ¹
¹ summaries must be >0 to compute geomean

                    │      After      │
                    │ sec-reading/op  │
Compaction/sqlite-4   731.3µ ±  45%
Compaction/dqlite-4   528.0µ ±  48%
Create/sqlite-4       89.50µ ±  14%
Create/dqlite-4       49.30µ ±  47%
Delete/sqlite-4       259.1µ ± 137%
Delete/dqlite-4       50.60µ ±  43%
Get/sqlite-4          92.70µ ±   4%
Get/dqlite-4          36.00µ ±  14%
Lease/sqlite-4         0.000 ±   0%
Lease/dqlite-4         0.000 ±   0%
Update/sqlite-4       164.1µ ±   6%
Update/dqlite-4       102.9µ ±  20%
geomean                             ¹
¹ summaries must be >0 to compute geomean

                    │     After      │
                    │ sec-writing/op │
Compaction/sqlite-4   2.724m ±  7%
Compaction/dqlite-4   70.10µ ± 53%
Create/sqlite-4       878.1µ ±  7%
Create/dqlite-4       20.50µ ± 35%
Delete/sqlite-4       921.6µ ±  5%
Delete/dqlite-4       23.70µ ± 26%
Get/sqlite-4           0.000 ±  0%
Get/dqlite-4           0.000 ±  0%
Lease/sqlite-4         0.000 ±  0%
Lease/dqlite-4         0.000 ±  0%
Update/sqlite-4       883.6µ ±  3%
Update/dqlite-4       21.30µ ± 39%
geomean                            ¹
¹ summaries must be >0 to compute geomean

                    │     After     │
                    │     B/op      │
Compaction/sqlite-4   79.60Ki ±  4%
Compaction/dqlite-4   138.8Ki ± 40%
Create/sqlite-4       23.93Ki ±  0%
Create/dqlite-4       21.89Ki ±  0%
Delete/sqlite-4       28.38Ki ±  2%
Delete/dqlite-4       25.25Ki ±  0%
Get/sqlite-4          23.32Ki ±  0%
Get/dqlite-4          21.11Ki ±  0%
Lease/sqlite-4        12.33Ki ±  0%
Lease/dqlite-4        12.33Ki ±  0%
Update/sqlite-4       26.16Ki ±  0%
Update/dqlite-4       23.42Ki ±  0%
geomean               27.54Ki

                    │    After     │
                    │  allocs/op   │
Compaction/sqlite-4   3.276k ±  3%
Compaction/dqlite-4   3.230k ± 40%
Create/sqlite-4        533.0 ±  0%
Create/dqlite-4        406.0 ±  0%
Delete/sqlite-4        662.0 ±  3%
Delete/dqlite-4        446.0 ±  0%
Get/sqlite-4           538.0 ±  0%
Get/dqlite-4           379.0 ±  0%
Lease/sqlite-4         224.0 ±  0%
Lease/dqlite-4         224.0 ±  0%
Update/sqlite-4        611.0 ±  0%
Update/dqlite-4        428.0 ±  0%
geomean                590.8

                    │         After         │
                    │ network-bytes-read/op │
Compaction/dqlite-4           43.38Ki ± 54%
Create/dqlite-4                 423.9 ±  0%
Delete/dqlite-4               1.159Ki ±  0%
Get/dqlite-4                  1.132Ki ±  0%
Lease/dqlite-4                0.06800 ± 48%
Update/dqlite-4                 565.1 ±  0%
geomean                         316.0

                    │          After           │
                    │ network-bytes-written/op │
Compaction/dqlite-4              1.061Ki ±  2%
Create/dqlite-4                    232.2 ±  1%
Delete/dqlite-4                    424.1 ±  0%
Get/dqlite-4                       80.57 ±  0%
Lease/dqlite-4                    0.1088 ± 25%
Update/dqlite-4                    263.4 ±  0%
geomean                            79.21

@marco6 marco6 mentioned this pull request Jul 22, 2024
@marco6 marco6 changed the title Marco6/make list test linear Improve list test Jul 22, 2024
@marco6 marco6 force-pushed the marco6/make-list-test-linear branch from 2ae05ef to 659daaf Compare July 24, 2024 08:07
@marco6
Copy link
Collaborator Author

marco6 commented Jul 26, 2024

This PR makes the test run with a significantly higher number of rows. As such some queries in the background remain active quite often at the end of the test (compaction, tll, watchers).

This makes dqlite segfault quite often. It should be solved with canonical/dqlite#675 which now this PR depends on.

@marco6 marco6 force-pushed the marco6/make-list-test-linear branch from 659daaf to a1c20fd Compare August 1, 2024 11:47
@marco6
Copy link
Collaborator Author

marco6 commented Aug 1, 2024

Marking as ready since #131 and canonical/dqlite#675 were both merged.

@marco6 marco6 marked this pull request as ready for review August 1, 2024 11:48
@marco6 marco6 requested a review from a team as a code owner August 1, 2024 11:48
@marco6 marco6 force-pushed the marco6/make-list-test-linear branch from a1c20fd to bf7c308 Compare August 1, 2024 12:46
@marco6 marco6 mentioned this pull request Aug 1, 2024
Copy link
Contributor

@louiseschmidtgen louiseschmidtgen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work Marco!

One little knit could we improve the readability of the benchmark output by explaining the meaning of -100 and -4? Maybe something like List/sqlite-100payloadSize

List/sqlite-100/all-4  
List/sqlite-100/pagination-4  

Copy link
Member

@TheSignPainter98 TheSignPainter98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just a few trivials

test/admission_test.go Outdated Show resolved Hide resolved
test/list_test.go Outdated Show resolved Hide resolved
test/list_test.go Show resolved Hide resolved
test/list_test.go Show resolved Hide resolved
@marco6 marco6 changed the title Improve list test Improve list test and resize admission test Aug 2, 2024
Copy link
Member

@TheSignPainter98 TheSignPainter98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just a couple of trivials then this looks ready to me

test/admission_test.go Outdated Show resolved Hide resolved
test/admission_test.go Show resolved Hide resolved
test/list_test.go Outdated Show resolved Hide resolved
test/list_test.go Show resolved Hide resolved
test/list_test.go Outdated Show resolved Hide resolved
Copy link
Member

@TheSignPainter98 TheSignPainter98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice, thanks for the changes!

@marco6 marco6 merged commit aef11d7 into master Aug 2, 2024
7 checks passed
@marco6 marco6 deleted the marco6/make-list-test-linear branch August 2, 2024 16:32
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

Successfully merging this pull request may close these issues.

3 participants