Skip to content

Latest commit

 

History

History
840 lines (830 loc) · 29 KB

fly_free_tier.md

File metadata and controls

840 lines (830 loc) · 29 KB

Creating organizations (100)

Creating 50 organizations [reqs:50, conc:10, rule:""]

┌─ Best:      4.036803ms
├─ Worst:     14.76309ms
├─ Completed: 40.658856ms
└─ Errors:    0

Creating 50 organizations [reqs:50, conc:10, rule:"@request.data.name != ''"]

┌─ Best:      2.35243ms
├─ Worst:     12.559693ms
├─ Completed: 43.665953ms
└─ Errors:    0

Creating permissions (50)

Creating 25 permissions [reqs:25, conc:5, rule:""]

┌─ Best:      2.012552ms
├─ Worst:     7.146904ms
├─ Completed: 23.418823ms
└─ Errors:    0

Creating 25 permissions [reqs:25, conc:5, rule:"@request.data.name != ''"]

┌─ Best:      2.915695ms
├─ Worst:     9.040003ms
├─ Completed: 27.252461ms
└─ Errors:    0

Creating users (500 - expected to be slow due to passwordHash generation)

Creating 250 users [reqs:250, conc:50, rule:""]

┌─ Best:      23.168039659s
├─ Worst:     28.165492748s
├─ Completed: 2m11.275243023s
└─ Errors:    0

Creating 250 users [reqs:250, conc:50, rule:"@request.data.email != '' && @request.data.permissions:length > 0"]

┌─ Best:      24.193156341s
├─ Worst:     28.259172518s
├─ Completed: 2m11.68834049s
└─ Errors:    0

Creating posts (10k, 25k, 50k, 100k)

Creating 5000 posts10k [reqs:5000, conc:500, rule:""]

┌─ Best:      124.860382ms
├─ Worst:     2.081540397s
├─ Completed: 7.62767345s
└─ Errors:    0

Creating 5000 posts10k [reqs:5000, conc:500, rule:"@request.auth.id != '' && @request.data.public:isset = true"]

┌─ Best:      190.023658ms
├─ Worst:     2.526501864s
├─ Completed: 9.757762116s
└─ Errors:    0

Creating 12500 posts25k [reqs:12500, conc:500, rule:""]

┌─ Best:      120.300044ms
├─ Worst:     2.420587559s
├─ Completed: 19.263964779s
└─ Errors:    0

Creating 12500 posts25k [reqs:12500, conc:500, rule:"@request.auth.id != '' && @request.data.public:isset = true"]

┌─ Best:      140.011542ms
├─ Worst:     2.620740518s
├─ Completed: 24.238651811s
└─ Errors:    0

Creating 25000 posts50k [reqs:25000, conc:500, rule:""]

┌─ Best:      94.839229ms
├─ Worst:     2.496470401s
├─ Completed: 38.539212469s
└─ Errors:    0

Creating 25000 posts50k [reqs:25000, conc:500, rule:"@request.auth.id != '' && @request.data.public:isset = true"]

┌─ Best:      115.0593ms
├─ Worst:     3.254223904s
├─ Completed: 48.528268604s
└─ Errors:    0

Creating 50000 posts100k [reqs:50000, conc:500, rule:""]

┌─ Best:      104.360234ms
├─ Worst:     2.94074358s
├─ Completed: 1m17.591214199s
└─ Errors:    0

Creating 50000 posts100k [reqs:50000, conc:500, rule:"@request.auth.id != '' && @request.data.public:isset = true"]

┌─ Best:      67.368423ms
├─ Worst:     3.551014629s
├─ Completed: 1m39.11811867s
└─ Errors:    0

User auth with password (expected to be slow due to passwordHash verification)

users auth with email/pass - high concurrency [reqs:250, conc:250]

┌─ Best:      1m0.327335102s
├─ Worst:     1m5.441928112s
├─ Completed: 1m5.442879097s
└─ Errors:    0

users auth with email/pass - small concurrency [reqs:250, conc:10]

┌─ Best:      1.311835105s
├─ Worst:     2.962066108s
├─ Completed: 1m5.498127357s
└─ Errors:    0

User auth refresh

users - auth refresh (high concurrency) [reqs:1000, conc:1000]

┌─ Best:      218.495221ms
├─ Worst:     811.624348ms
├─ Completed: 819.635345ms
└─ Errors:    0

users - auth refresh (medium concurrency) [reqs:1000, conc:100]

┌─ Best:      27.425855ms
├─ Worst:     147.429703ms
├─ Completed: 767.992706ms
└─ Errors:    0

List records

users - getOne for auth refresh comparison (high concurrency) [reqs:1000, conc:1000, rule:"", query:/gpwl91aygl24x0j]

┌─ Best:      292.880504ms
├─ Worst:     1.053817929s
├─ Completed: 1.060592734s
└─ Errors:    0

users - getOne for auth refresh comparison (medium concurrency) [reqs:1000, conc:100, rule:"", query:/gpwl91aygl24x0j]

┌─ Best:      21.554505ms
├─ Worst:     207.109588ms
├─ Completed: 955.977132ms
└─ Errors:    0

posts10k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:"", query:?perPage=20]

┌─ Best:      1.856577ms
├─ Worst:     10.084249ms
├─ Completed: 2.456666466s
└─ Errors:    0

posts10k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      265.184942ms
├─ Worst:     2.804510626s
├─ Completed: 2.812993234s
└─ Errors:    0

posts10k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:"", query:?perPage=20&skipTotal=1]

┌─ Best:      676.949264ms
├─ Worst:     2.859343016s
├─ Completed: 2.874524577s
└─ Errors:    0

posts10k - mixed read and write (simpleA list with additional 300 concurrent random posts10k updates running in the background) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      343.192208ms
├─ Worst:     6.515677874s
├─ Completed: 6.53925242s
└─ Errors:    0

posts10k - expand author [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author]

┌─ Best:      18.588768ms
├─ Worst:     348.649449ms
├─ Completed: 1.17901519s
└─ Errors:    0

posts10k - expand author (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id]

┌─ Best:      37.670929ms
├─ Worst:     122.344057ms
├─ Completed: 632.753188ms
└─ Errors:    0

posts10k - expand author.permissions [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions]

┌─ Best:      21.74935ms
├─ Worst:     164.43261ms
├─ Completed: 618.608583ms
└─ Errors:    0

posts10k - expand author.permissions (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions&fields=id,collectionId,expand.author.id,expand.author.expand.permissions.id]

┌─ Best:      19.855251ms
├─ Worst:     139.852048ms
├─ Completed: 689.732553ms
└─ Errors:    0

posts10k - simple auth rule [reqs:100, conc:10, rule:"@request.auth.id != ''", query:?perPage=20]

┌─ Best:      11.217649ms
├─ Worst:     41.443966ms
├─ Completed: 233.846805ms
└─ Errors:    0

posts10k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      16.115745ms
├─ Worst:     284.16702ms
├─ Completed: 927.159131ms
└─ Errors:    0

posts10k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      6.849597ms
├─ Worst:     48.279941ms
├─ Completed: 187.322359ms
└─ Errors:    0

posts10k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      4.598889ms
├─ Worst:     23.869224ms
├─ Completed: 141.003507ms
└─ Errors:    0

posts10k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      75.626326ms
├─ Worst:     265.773737ms
├─ Completed: 1.546953855s
└─ Errors:    0

posts10k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      8.334104ms
├─ Worst:     48.068586ms
├─ Completed: 204.284025ms
└─ Errors:    0

posts10k - author.id (extra join) check (with index and skipTotal) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      4.731562ms
├─ Worst:     28.121643ms
├─ Completed: 177.25552ms
└─ Errors:    0

posts10k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      29.399486ms
├─ Worst:     143.739987ms
├─ Completed: 923.022755ms
└─ Errors:    0

posts10k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      26.374718ms
├─ Worst:     149.009994ms
├─ Completed: 897.736134ms
└─ Errors:    0

posts10k - loose large text search (with index and skipTotal) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20&skipTotal=1]

┌─ Best:      15.341304ms
├─ Worst:     149.560408ms
├─ Completed: 814.503632ms
└─ Errors:    0

posts10k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20]

┌─ Best:      241.600755ms
├─ Worst:     1.029223416s
├─ Completed: 5.160737398s
└─ Errors:    0

posts10k - multiple select :each (no index, match-all, skipTotal) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      255.536624ms
├─ Worst:     889.877872ms
├─ Completed: 4.918832186s
└─ Errors:    0

posts10k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20]

┌─ Best:      51.863184ms
├─ Worst:     283.720888ms
├─ Completed: 1.816989631s
└─ Errors:    0

posts10k - multiple select :each (no index, at-least-one, skipTotal) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      69.558179ms
├─ Worst:     318.37853ms
├─ Completed: 1.7438545s
└─ Errors:    0

posts10k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20]

┌─ Best:      144.297012ms
├─ Worst:     587.716809ms
├─ Completed: 3.083137162s
└─ Errors:    0

posts10k - nested single relations lookup (no indexes, skipTotal) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20&skipTotal=1]

┌─ Best:      147.062173ms
├─ Worst:     671.448973ms
├─ Completed: 3.957603218s
└─ Errors:    0

posts10k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20]

┌─ Best:      695.167453ms
├─ Worst:     2.300977342s
├─ Completed: 14.053733547s
└─ Errors:    0

posts10k - nested multiple relations lookup (no indexes, match-all, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20&skipTotal=1]

┌─ Best:      737.513523ms
├─ Worst:     2.444605377s
├─ Completed: 13.574631703s
└─ Errors:    0

posts10k - nested multiple relations lookup (no indexes, at-least-one) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20]

┌─ Best:      2.455263751s
├─ Worst:     4.548188631s
├─ Completed: 37.552511446s
└─ Errors:    0

posts10k - nested multiple relations lookup (no indexes, at-least-one, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20&skipTotal=1]

┌─ Best:      2.281503351s
├─ Worst:     4.75262939s
├─ Completed: 37.749785411s
└─ Errors:    0

posts25k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:"", query:?perPage=20]

┌─ Best:      2.961057ms
├─ Worst:     14.639296ms
├─ Completed: 3.707093264s
└─ Errors:    0

posts25k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      1.530152162s
├─ Worst:     9.507803785s
├─ Completed: 9.514419155s
└─ Errors:    0

posts25k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:"", query:?perPage=20&skipTotal=1]

┌─ Best:      2.258264583s
├─ Worst:     12.393034366s
├─ Completed: 12.450354371s
└─ Errors:    0

posts25k - mixed read and write (simpleA list with additional 300 concurrent random posts25k updates running in the background) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      946.388466ms
├─ Worst:     11.551263082s
├─ Completed: 11.680842835s
└─ Errors:    0

posts25k - expand author [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author]

┌─ Best:      23.199477ms
├─ Worst:     375.587752ms
├─ Completed: 1.574853512s
└─ Errors:    0

posts25k - expand author (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id]

┌─ Best:      35.3831ms
├─ Worst:     142.899296ms
├─ Completed: 725.064422ms
└─ Errors:    0

posts25k - expand author.permissions [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions]

┌─ Best:      32.535147ms
├─ Worst:     148.041738ms
├─ Completed: 787.276563ms
└─ Errors:    0

posts25k - expand author.permissions (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions&fields=id,collectionId,expand.author.id,expand.author.expand.permissions.id]

┌─ Best:      28.526204ms
├─ Worst:     179.256602ms
├─ Completed: 867.272001ms
└─ Errors:    0

posts25k - simple auth rule [reqs:100, conc:10, rule:"@request.auth.id != ''", query:?perPage=20]

┌─ Best:      10.448559ms
├─ Worst:     65.489974ms
├─ Completed: 350.601399ms
└─ Errors:    0

posts25k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      88.412194ms
├─ Worst:     1.503450106s
├─ Completed: 3.636501078s
└─ Errors:    0

posts25k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      11.065654ms
├─ Worst:     40.507072ms
├─ Completed: 252.806183ms
└─ Errors:    0

posts25k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      5.555112ms
├─ Worst:     83.430856ms
├─ Completed: 256.96709ms
└─ Errors:    0

posts25k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      179.323713ms
├─ Worst:     1.509116482s
├─ Completed: 5.320116628s
└─ Errors:    0

posts25k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      5.43304ms
├─ Worst:     53.470315ms
├─ Completed: 249.128219ms
└─ Errors:    0

posts25k - author.id (extra join) check (with index and skipTotal) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      4.192748ms
├─ Worst:     31.645574ms
├─ Completed: 184.934308ms
└─ Errors:    0

posts25k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      67.523897ms
├─ Worst:     714.206722ms
├─ Completed: 3.715762027s
└─ Errors:    0

posts25k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      93.133905ms
├─ Worst:     497.241362ms
├─ Completed: 2.559707578s
└─ Errors:    0

posts25k - loose large text search (with index and skipTotal) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20&skipTotal=1]

┌─ Best:      99.10581ms
├─ Worst:     412.883421ms
├─ Completed: 2.701540836s
└─ Errors:    0

posts25k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20]

┌─ Best:      746.533114ms
├─ Worst:     2.716298056s
├─ Completed: 15.724238471s
└─ Errors:    0

posts25k - multiple select :each (no index, match-all, skipTotal) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      751.890422ms
├─ Worst:     3.119713864s
├─ Completed: 17.318210086s
└─ Errors:    0

posts25k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20]

┌─ Best:      153.93721ms
├─ Worst:     968.607577ms
├─ Completed: 5.092838902s
└─ Errors:    0

posts25k - multiple select :each (no index, at-least-one, skipTotal) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      210.229538ms
├─ Worst:     788.875424ms
├─ Completed: 4.522638333s
└─ Errors:    0

posts25k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20]

┌─ Best:      409.621118ms
├─ Worst:     2.033384318s
├─ Completed: 11.283648938s
└─ Errors:    0

posts25k - nested single relations lookup (no indexes, skipTotal) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20&skipTotal=1]

┌─ Best:      483.838477ms
├─ Worst:     2.159078911s
├─ Completed: 12.269751135s
└─ Errors:    0

posts25k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20]

┌─ Best:      1.122866955s
├─ Worst:     4.919200584s
├─ Completed: 34.186920937s
└─ Errors:    0

posts25k - nested multiple relations lookup (no indexes, match-all, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20&skipTotal=1]

┌─ Best:      896.605335ms
├─ Worst:     4.812981392s
├─ Completed: 33.676967989s
└─ Errors:    0

posts25k - nested multiple relations lookup (no indexes, at-least-one) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20]

┌─ Best:      8.063944743s
├─ Worst:     11.067240831s
├─ Completed: 1m36.067743142s
└─ Errors:    0

posts25k - nested multiple relations lookup (no indexes, at-least-one, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20&skipTotal=1]

┌─ Best:      7.935116389s
├─ Worst:     10.707278211s
├─ Completed: 1m35.375354849s
└─ Errors:    0

posts50k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:"", query:?perPage=20]

┌─ Best:      5.142932ms
├─ Worst:     28.211106ms
├─ Completed: 6.175008421s
└─ Errors:    0

posts50k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      1.65599612s
├─ Worst:     22.616728258s
├─ Completed: 22.628028689s
└─ Errors:    0

posts50k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:"", query:?perPage=20&skipTotal=1]

┌─ Best:      2.061943473s
├─ Worst:     32.595351895s
├─ Completed: 32.62819915s
└─ Errors:    0

posts50k - mixed read and write (simpleA list with additional 300 concurrent random posts50k updates running in the background) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      1.912856078s
├─ Worst:     37.694966701s
├─ Completed: 37.766163222s
└─ Errors:    0

posts50k - expand author [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author]

┌─ Best:      33.229155ms
├─ Worst:     287.390623ms
├─ Completed: 1.310862211s
└─ Errors:    0

posts50k - expand author (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id]

┌─ Best:      30.574416ms
├─ Worst:     830.971236ms
├─ Completed: 1.879158811s
└─ Errors:    0

posts50k - expand author.permissions [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions]

┌─ Best:      41.869247ms
├─ Worst:     183.812279ms
├─ Completed: 1.003247478s
└─ Errors:    0

posts50k - expand author.permissions (limited fields) [reqs:100, conc:10, rule:"", query:?perPage=20&expand=author.permissions&fields=id,collectionId,expand.author.id,expand.author.expand.permissions.id]

┌─ Best:      37.079054ms
├─ Worst:     195.214822ms
├─ Completed: 1.097450891s
└─ Errors:    0

posts50k - simple auth rule [reqs:100, conc:10, rule:"@request.auth.id != ''", query:?perPage=20]

┌─ Best:      12.753238ms
├─ Worst:     101.504311ms
├─ Completed: 574.94094ms
└─ Errors:    0

posts50k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      153.57064ms
├─ Worst:     2.768212731s
├─ Completed: 7.133678242s
└─ Errors:    0

posts50k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20]

┌─ Best:      4.311381ms
├─ Worst:     168.835473ms
├─ Completed: 415.17619ms
└─ Errors:    0

posts50k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      6.480087ms
├─ Worst:     62.727674ms
├─ Completed: 238.589408ms
└─ Errors:    0

posts50k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      319.781176ms
├─ Worst:     2.698335904s
├─ Completed: 8.153156517s
└─ Errors:    0

posts50k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20]

┌─ Best:      3.011787ms
├─ Worst:     123.399224ms
├─ Completed: 457.898989ms
└─ Errors:    0

posts50k - author.id (extra join) check (with index and skipTotal) [reqs:100, conc:10, rule:"author.id = @request.auth.id", query:?perPage=20&skipTotal=1]

┌─ Best:      10.257184ms
├─ Worst:     65.499275ms
├─ Completed: 296.417595ms
└─ Errors:    0

posts50k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      502.318262ms
├─ Worst:     2.236065672s
├─ Completed: 12.514450851s
└─ Errors:    0

posts50k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20]

┌─ Best:      373.606061ms
├─ Worst:     1.752331128s
├─ Completed: 8.022311262s
└─ Errors:    0

posts50k - loose large text search (with index and skipTotal) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'", query:?perPage=20&skipTotal=1]

┌─ Best:      224.206778ms
├─ Worst:     1.335639639s
├─ Completed: 6.730417458s
└─ Errors:    0

posts50k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20]

┌─ Best:      1.616572326s
├─ Worst:     8.144568786s
├─ Completed: 37.225745141s
└─ Errors:    0

posts50k - multiple select :each (no index, match-all, skipTotal) [reqs:100, conc:10, rule:"type:each != 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      1.632624119s
├─ Worst:     6.693778414s
├─ Completed: 37.271975409s
└─ Errors:    0

posts50k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20]

┌─ Best:      410.839789ms
├─ Worst:     2.368807367s
├─ Completed: 11.84388086s
└─ Errors:    0

posts50k - multiple select :each (no index, at-least-one, skipTotal) [reqs:100, conc:10, rule:"type:each ?!= 'c'", query:?perPage=20&skipTotal=1]

┌─ Best:      471.337045ms
├─ Worst:     2.401517229s
├─ Completed: 10.283086319s
└─ Errors:    0

posts50k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20]

┌─ Best:      899.321854ms
├─ Worst:     4.282777673s
├─ Completed: 24.823490267s
└─ Errors:    0

posts50k - nested single relations lookup (no indexes, skipTotal) [reqs:100, conc:10, rule:"author.organization.name != 'test'", query:?perPage=20&skipTotal=1]

┌─ Best:      709.234875ms
├─ Worst:     5.100828067s
├─ Completed: 26.054154314s
└─ Errors:    0

posts50k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20]

┌─ Best:      1.901075994s
├─ Worst:     10.167148116s
├─ Completed: 1m9.413855519s
└─ Errors:    0

posts50k - nested multiple relations lookup (no indexes, match-all, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active = true", query:?perPage=20&skipTotal=1]

┌─ Best:      2.551076435s
├─ Worst:     8.780330711s
├─ Completed: 1m7.984217112s
└─ Errors:    0

posts50k - nested multiple relations lookup (no indexes, at-least-one) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20]

┌─ Best:      6.491867921s
├─ Worst:     23.981077155s
├─ Completed: 3m9.721071109s
└─ Errors:    0

posts50k - nested multiple relations lookup (no indexes, at-least-one, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active ?= true", query:?perPage=20&skipTotal=1]

┌─ Best:      16.204594407s
├─ Worst:     20.941203124s
├─ Completed: 3m9.274263917s
└─ Errors:    0

posts100k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:"", query:?perPage=20]

┌─ Best:      9.194466ms
├─ Worst:     39.214829ms
├─ Completed: 10.807337705s
└─ Errors:    0

posts100k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:"", query:?perPage=20]

┌─ Best:      1.242203065s
├─ Worst:     1m39.105483617s
├─ Completed: 1m39.196013675s
└─ Errors:    4

posts100k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:"", query:?perPage=20&skipTotal=1]

┌─ Best:      3.582440577s
├─ Worst:     1m21.696528296s
├─ Completed: 1m21.801451464s
└─ Errors:    0

ERROR: Benchmark run interrupted...


Deleting records

deleting 100 posts10k - simple (no cascade, no rule) [conc:10, rule:""]

┌─ Best:      12.08694ms
├─ Worst:     52.8369ms
├─ Completed: 270.299223ms
└─ Errors:    0

deleting 100 posts10k - simple (no cascade, with rule) [conc:10, rule:"@request.auth.id != ''"]

┌─ Best:      5.453621ms
├─ Worst:     50.814197ms
├─ Completed: 210.542957ms
└─ Errors:    0

deleting 100 posts25k - simple (no cascade, no rule) [conc:10, rule:""]

┌─ Best:      4.768333ms
├─ Worst:     22.808106ms
├─ Completed: 156.419164ms
└─ Errors:    0

deleting 100 posts25k - simple (no cascade, with rule) [conc:10, rule:"@request.auth.id != ''"]

┌─ Best:      10.582652ms
├─ Worst:     53.215519ms
├─ Completed: 240.541268ms
└─ Errors:    0

deleting 100 posts50k - simple (no cascade, no rule) [conc:10, rule:""]

┌─ Best:      4.112246ms
├─ Worst:     36.902429ms
├─ Completed: 184.305201ms
└─ Errors:    0

deleting 100 posts50k - simple (no cascade, with rule) [conc:10, rule:"@request.auth.id != ''"]

┌─ Best:      5.219474ms
├─ Worst:     37.155495ms
├─ Completed: 223.794697ms
└─ Errors:    0

deleting 100 posts100k - simple (no cascade, no rule) [conc:10, rule:""]

┌─ Best:      4.620319ms
├─ Worst:     23.518865ms
├─ Completed: 156.860586ms
└─ Errors:    0

deleting 100 posts100k - simple (no cascade, with rule) [conc:10, rule:"@request.auth.id != ''"]

┌─ Best:      3.651234ms
├─ Worst:     36.395226ms
├─ Completed: 177.165908ms
└─ Errors:    0

deleting 100 users - with cascade deleting all associated posts [conc:10, rule:""]

┌─ Best:      1.415145394s
├─ Worst:     55.364447833s
├─ Completed: 2m8.170955646s
└─ Errors:    0

deleting 100 organizations - with cascade deleting all users and associated posts [conc:10, rule:""]

┌─ Best:      1.064090733s
├─ Worst:     2m29.438523826s
├─ Completed: 4m26.869395306s
└─ Errors:    0