PocketBase v0.24.0-dev
┌─ Best: 820.808µs
├─ Worst: 7.351426ms
├─ Completed: 18.629728ms
└─ Errors: 0
┌─ Best: 1.737656ms
├─ Worst: 11.505863ms
├─ Completed: 30.804678ms
└─ Errors: 0
┌─ Best: 871.528µs
├─ Worst: 3.807355ms
├─ Completed: 11.15278ms
└─ Errors: 0
┌─ Best: 1.173611ms
├─ Worst: 3.813034ms
├─ Completed: 11.809787ms
└─ Errors: 0
┌─ Best: 1.993149232s
├─ Worst: 4.446744695s
├─ Completed: 17.344468703s
└─ Errors: 0
Creating 250 users [reqs:250, conc:50, rule:"@request.body.email != '' && @request.body.permissions:length > 0"
]
┌─ Best: 1.836800515s
├─ Worst: 4.467286024s
├─ Completed: 17.433788258s
└─ Errors: 0
┌─ Best: 79.100547ms
├─ Worst: 460.375796ms
├─ Completed: 2.487545437s
└─ Errors: 0
Creating 5000 posts10k [reqs:5000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 103.760126ms
├─ Worst: 572.407312ms
├─ Completed: 3.226949856s
└─ Errors: 0
┌─ Best: 46.534935ms
├─ Worst: 557.159009ms
├─ Completed: 5.760481328s
└─ Errors: 0
Creating 12500 posts25k [reqs:12500, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 48.133989ms
├─ Worst: 730.374457ms
├─ Completed: 8.236724109s
└─ Errors: 0
┌─ Best: 46.498812ms
├─ Worst: 527.55136ms
├─ Completed: 11.149944397s
└─ Errors: 0
Creating 25000 posts50k [reqs:25000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 53.10599ms
├─ Worst: 831.770638ms
├─ Completed: 15.862947198s
└─ Errors: 0
┌─ Best: 7.471506ms
├─ Worst: 646.032409ms
├─ Completed: 21.758261827s
└─ Errors: 0
Creating 50000 posts100k [reqs:50000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 20.359818ms
├─ Worst: 944.815449ms
├─ Completed: 32.535684174s
└─ Errors: 0
┌─ Best: 6.967114874s
├─ Worst: 8.615209094s
├─ Completed: 8.631192793s
└─ Errors: 0
┌─ Best: 154.072141ms
├─ Worst: 543.554413ms
├─ Completed: 8.713526291s
└─ Errors: 0
┌─ Best: 171.694575ms
├─ Worst: 356.602104ms
├─ Completed: 370.517985ms
└─ Errors: 0
┌─ Best: 5.193885ms
├─ Worst: 76.96863ms
├─ Completed: 317.552043ms
└─ Errors: 0
users - getOne for auth refresh comparison (high concurrency) [reqs:1000, conc:1000, rule:""
, query:/0p9te346z6345xw
]
┌─ Best: 150.402108ms
├─ Worst: 393.382301ms
├─ Completed: 416.889346ms
└─ Errors: 0
users - getOne for auth refresh comparison (medium concurrency) [reqs:1000, conc:100, rule:""
, query:/0p9te346z6345xw
]
┌─ Best: 4.037075ms
├─ Worst: 86.515192ms
├─ Completed: 342.75302ms
└─ Errors: 0
posts10k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 1.424933ms
├─ Worst: 7.520306ms
├─ Completed: 2.232377676s
└─ Errors: 0
posts10k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 348.87231ms
├─ Worst: 1.055511805s
├─ Completed: 1.091492798s
└─ Errors: 0
posts10k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 184.777324ms
├─ Worst: 793.88969ms
├─ Completed: 803.296972ms
└─ 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: 235.071919ms
├─ Worst: 1.27263712s
├─ Completed: 1.287400728s
└─ Errors: 0
┌─ Best: 3.062746ms
├─ Worst: 42.993612ms
├─ Completed: 180.375564ms
└─ Errors: 0
posts10k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 4.989003ms
├─ Worst: 44.129983ms
├─ Completed: 221.288118ms
└─ Errors: 0
posts10k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 5.029204ms
├─ Worst: 58.424387ms
├─ Completed: 267.031513ms
└─ 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: 5.306606ms
├─ Worst: 64.282117ms
├─ Completed: 337.799125ms
└─ Errors: 0
┌─ Best: 2.077418ms
├─ Worst: 24.676253ms
├─ Completed: 110.185394ms
└─ Errors: 0
posts10k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 5.929291ms
├─ Worst: 293.405179ms
├─ Completed: 483.415264ms
└─ Errors: 0
posts10k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.370781ms
├─ Worst: 18.959084ms
├─ Completed: 91.27039ms
└─ Errors: 0
posts10k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.920777ms
├─ Worst: 22.334513ms
├─ Completed: 90.294661ms
└─ Errors: 0
posts10k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 3.896954ms
├─ Worst: 56.238527ms
├─ Completed: 225.50575ms
└─ Errors: 0
posts10k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.314451ms
├─ Worst: 20.82698ms
├─ Completed: 91.277509ms
└─ 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: 1.602973ms
├─ Worst: 20.915101ms
├─ Completed: 81.260262ms
└─ Errors: 0
posts10k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 4.049555ms
├─ Worst: 52.886496ms
├─ Completed: 240.466277ms
└─ Errors: 0
posts10k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 4.513359ms
├─ Worst: 76.672702ms
├─ Completed: 256.618375ms
└─ 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: 2.750944ms
├─ Worst: 16.691944ms
├─ Completed: 84.504529ms
└─ Errors: 0
posts10k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 60.868605ms
├─ Worst: 264.657563ms
├─ Completed: 1.418028832s
└─ 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: 3.564831ms
├─ Worst: 25.746982ms
├─ Completed: 101.981199ms
└─ Errors: 0
posts10k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 46.039277ms
├─ Worst: 240.115749ms
├─ Completed: 1.060848623s
└─ 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: 1.537373ms
├─ Worst: 23.764045ms
├─ Completed: 93.97749ms
└─ Errors: 0
posts10k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 20.095733ms
├─ Worst: 207.370226ms
├─ Completed: 1.06142646s
└─ 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: 1.378932ms
├─ Worst: 32.841403ms
├─ Completed: 90.68574ms
└─ Errors: 0
posts10k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 481.289378ms
├─ Worst: 783.620943ms
├─ Completed: 6.218671489s
└─ 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: 4.864481ms
├─ Worst: 70.708888ms
├─ Completed: 217.760352ms
└─ 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: 715.404019ms
├─ Worst: 943.279064ms
├─ Completed: 8.364860385s
└─ 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: 3.651232ms
├─ Worst: 28.142481ms
├─ Completed: 108.43901ms
└─ Errors: 0
posts25k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 2.24286ms
├─ Worst: 7.06958ms
├─ Completed: 3.493816475s
└─ Errors: 0
posts25k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 297.364668ms
├─ Worst: 1.44136031s
├─ Completed: 1.463174177s
└─ Errors: 0
posts25k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 220.245686ms
├─ Worst: 760.644555ms
├─ Completed: 777.094176ms
└─ 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: 334.831626ms
├─ Worst: 1.673492925s
├─ Completed: 1.722316183s
└─ Errors: 0
┌─ Best: 3.731792ms
├─ Worst: 38.474929ms
├─ Completed: 197.110967ms
└─ Errors: 0
posts25k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 8.715075ms
├─ Worst: 47.441286ms
├─ Completed: 249.865578ms
└─ Errors: 0
posts25k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 10.165887ms
├─ Worst: 67.201895ms
├─ Completed: 296.476615ms
└─ 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: 7.0251ms
├─ Worst: 69.588755ms
├─ Completed: 384.831209ms
└─ Errors: 0
┌─ Best: 2.542862ms
├─ Worst: 32.886361ms
├─ Completed: 143.94859ms
└─ Errors: 0
posts25k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 18.479958ms
├─ Worst: 314.941891ms
├─ Completed: 990.795304ms
└─ Errors: 0
posts25k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.735175ms
├─ Worst: 46.520237ms
├─ Completed: 118.374571ms
└─ Errors: 0
posts25k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 2.179818ms
├─ Worst: 21.16458ms
├─ Completed: 88.521596ms
└─ Errors: 0
posts25k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 14.828327ms
├─ Worst: 265.482786ms
├─ Completed: 823.935751ms
└─ Errors: 0
posts25k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.617894ms
├─ Worst: 45.406787ms
├─ Completed: 114.793939ms
└─ 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: 1.573174ms
├─ Worst: 24.757291ms
├─ Completed: 93.253235ms
└─ Errors: 0
posts25k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 26.762588ms
├─ Worst: 232.890745ms
├─ Completed: 861.332184ms
└─ Errors: 0
posts25k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 35.939346ms
├─ Worst: 179.419009ms
├─ Completed: 851.439896ms
└─ 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: 2.37078ms
├─ Worst: 19.688368ms
├─ Completed: 88.952118ms
└─ Errors: 0
posts25k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 198.858733ms
├─ Worst: 614.647954ms
├─ Completed: 4.037437376s
└─ 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: 3.51335ms
├─ Worst: 24.604489ms
├─ Completed: 97.766232ms
└─ Errors: 0
posts25k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 110.087336ms
├─ Worst: 458.45322ms
├─ Completed: 2.833727904s
└─ 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: 2.974585ms
├─ Worst: 21.874146ms
├─ Completed: 91.215455ms
└─ Errors: 0
posts25k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 146.162281ms
├─ Worst: 485.498846ms
├─ Completed: 3.177623683s
└─ 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: 1.502053ms
├─ Worst: 23.141756ms
├─ Completed: 90.842211ms
└─ 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.361086455s
├─ Worst: 1.800552768s
├─ Completed: 16.1050383s
└─ 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: 3.223227ms
├─ Worst: 52.675846ms
├─ Completed: 182.486266ms
└─ 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: 1.970429489s
├─ Worst: 2.315826333s
├─ Completed: 21.604390955s
└─ 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: 1.961616ms
├─ Worst: 38.126402ms
├─ Completed: 119.977293ms
└─ Errors: 0
posts50k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 3.332028ms
├─ Worst: 10.942972ms
├─ Completed: 4.881132285s
└─ Errors: 0
posts50k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 226.129508ms
├─ Worst: 1.937228903s
├─ Completed: 1.955596619s
└─ Errors: 0
posts50k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 330.245186ms
├─ Worst: 788.835092ms
├─ Completed: 800.776353ms
└─ 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: 386.897902ms
├─ Worst: 2.187597081s
├─ Completed: 2.206063636s
└─ Errors: 0
┌─ Best: 7.483783ms
├─ Worst: 56.339954ms
├─ Completed: 276.878693ms
└─ Errors: 0
posts50k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 10.838332ms
├─ Worst: 68.317055ms
├─ Completed: 315.046254ms
└─ Errors: 0
posts50k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 8.531632ms
├─ Worst: 71.892725ms
├─ Completed: 359.409867ms
└─ 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: 7.518423ms
├─ Worst: 75.99624ms
├─ Completed: 425.658744ms
└─ Errors: 0
┌─ Best: 3.707591ms
├─ Worst: 43.609167ms
├─ Completed: 196.348053ms
└─ Errors: 0
posts50k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 33.791404ms
├─ Worst: 240.720186ms
├─ Completed: 1.393887609s
└─ Errors: 0
posts50k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.778895ms
├─ Worst: 43.537046ms
├─ Completed: 119.256563ms
└─ Errors: 0
posts50k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.672934ms
├─ Worst: 29.230726ms
├─ Completed: 87.900339ms
└─ Errors: 0
posts50k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 62.393284ms
├─ Worst: 254.959144ms
├─ Completed: 1.361509728s
└─ Errors: 0
posts50k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.887056ms
├─ Worst: 58.319291ms
├─ Completed: 129.111165ms
└─ 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: 1.878376ms
├─ Worst: 24.245803ms
├─ Completed: 82.815616ms
└─ Errors: 0
posts50k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 47.512199ms
├─ Worst: 276.579323ms
├─ Completed: 1.503206868s
└─ Errors: 0
posts50k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 83.243539ms
├─ Worst: 234.777371ms
├─ Completed: 1.514552877s
└─ 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: 1.422172ms
├─ Worst: 34.811972ms
├─ Completed: 95.497722ms
└─ Errors: 0
posts50k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 839.817961ms
├─ Worst: 1.190707872s
├─ Completed: 10.290196914s
└─ 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.636573ms
├─ Worst: 23.566438ms
├─ Completed: 92.567576ms
└─ Errors: 0
posts50k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 637.445138ms
├─ Worst: 910.157947ms
├─ Completed: 7.916660434s
└─ 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: 1.568013ms
├─ Worst: 29.542927ms
├─ Completed: 91.074602ms
└─ Errors: 0
posts50k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 737.046766ms
├─ Worst: 986.088253ms
├─ Completed: 8.608148736s
└─ 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: 1.649134ms
├─ Worst: 28.957682ms
├─ Completed: 90.449556ms
└─ Errors: 0
posts50k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 3.226588926s
├─ Worst: 3.581945897s
├─ Completed: 34.819191691s
└─ 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: 3.176586ms
├─ Worst: 37.396111ms
├─ Completed: 180.140741ms
└─ 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: 4.493345998s
├─ Worst: 4.810658256s
├─ Completed: 46.595701948s
└─ 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: 3.61131ms
├─ Worst: 31.507502ms
├─ Completed: 115.608999ms
└─ Errors: 0
posts100k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 5.716087ms
├─ Worst: 15.929812ms
├─ Completed: 7.359654246s
└─ Errors: 0
posts100k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 333.346162ms
├─ Worst: 3.103054386s
├─ Completed: 3.125618374s
└─ Errors: 0
posts100k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 221.133511ms
├─ Worst: 803.596255ms
├─ Completed: 808.091653ms
└─ Errors: 0
posts100k - mixed read and write (simpleA list with additional 300 concurrent random posts100k updates running in the background) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 628.469204ms
├─ Worst: 3.886200493s
├─ Completed: 3.897698588s
└─ Errors: 0
┌─ Best: 13.27791ms
├─ Worst: 64.959298ms
├─ Completed: 369.85078ms
└─ Errors: 0
posts100k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 8.387709ms
├─ Worst: 97.88681ms
├─ Completed: 428.902589ms
└─ Errors: 0
posts100k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 14.56264ms
├─ Worst: 95.456429ms
├─ Completed: 475.775495ms
└─ Errors: 0
posts100k - 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: 16.699938ms
├─ Worst: 100.667753ms
├─ Completed: 554.520947ms
└─ Errors: 0
┌─ Best: 12.878722ms
├─ Worst: 64.993421ms
├─ Completed: 331.055099ms
└─ Errors: 0
posts100k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 151.84872ms
├─ Worst: 461.807778ms
├─ Completed: 2.638874172s
└─ Errors: 0
posts100k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.893276ms
├─ Worst: 49.199878ms
├─ Completed: 136.13962ms
└─ Errors: 0
posts100k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.486628ms
├─ Worst: 18.717789ms
├─ Completed: 82.19853ms
└─ Errors: 0
posts100k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 78.826664ms
├─ Worst: 426.545362ms
├─ Completed: 2.459494031s
└─ Errors: 0
posts100k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.779033ms
├─ Worst: 21.335755ms
├─ Completed: 101.962885ms
└─ Errors: 0
posts100k - 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: 1.461307ms
├─ Worst: 35.297451ms
├─ Completed: 97.688963ms
└─ Errors: 0
posts100k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 109.949665ms
├─ Worst: 395.664201ms
├─ Completed: 2.876657999s
└─ Errors: 0
posts100k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 196.067942ms
├─ Worst: 329.91612ms
├─ Completed: 2.825713757s
└─ Errors: 0
posts100k - loose large text search (with index and skipTotal) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.68575ms
├─ Worst: 21.259468ms
├─ Completed: 83.071714ms
└─ Errors: 0
posts100k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 2.03090832s
├─ Worst: 2.489947134s
├─ Completed: 23.213848792s
└─ Errors: 0
posts100k - multiple select :each (no index, match-all, skipTotal) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 3.332979ms
├─ Worst: 27.123762ms
├─ Completed: 104.671418ms
└─ Errors: 0
posts100k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 1.684027859s
├─ Worst: 1.972574299s
├─ Completed: 18.247325379s
└─ Errors: 0
posts100k - multiple select :each (no index, at-least-one, skipTotal) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 2.685646ms
├─ Worst: 26.799306ms
├─ Completed: 93.030256ms
└─ Errors: 0
posts100k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 1.773141371s
├─ Worst: 2.226810376s
├─ Completed: 20.134592463s
└─ Errors: 0
posts100k - nested single relations lookup (no indexes, skipTotal) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.568307ms
├─ Worst: 24.278413ms
├─ Completed: 94.74805ms
└─ Errors: 0
posts100k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 6.671712392s
├─ Worst: 7.450979662s
├─ Completed: 1m12.473665569s
└─ Errors: 0
posts100k - nested multiple relations lookup (no indexes, match-all, skipTotal) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 7.949686ms
├─ Worst: 65.977689ms
├─ Completed: 233.239908ms
└─ Errors: 0
posts100k - nested multiple relations lookup (no indexes, at-least-one) [reqs:100, conc:10, rule:"author.permissions.active ?= true"
, query:?perPage=20
]
┌─ Best: 9.218462358s
├─ Worst: 9.755332562s
├─ Completed: 1m35.251665974s
└─ Errors: 0
posts100k - 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.449116ms
├─ Worst: 35.661084ms
├─ Completed: 118.413301ms
└─ Errors: 0
┌─ Best: 1.167782818s
├─ Worst: 7.745542396s
├─ Completed: 7.758137941s
└─ Errors: 0
┌─ Best: 261.987018ms
├─ Worst: 7.227080114s
├─ Completed: 7.229367148s
└─ Errors: 0
┌─ Best: 241.660121ms
├─ Worst: 1.273982359s
├─ Completed: 7.426153966s
└─ Errors: 0
┌─ Best: 118.728388ms
├─ Worst: 1.371885493s
├─ Completed: 6.82956115s
└─ Errors: 0
┌─ Best: 13.806358ms
├─ Worst: 30.482835ms
├─ Completed: 7.772945239s
└─ Errors: 0
┌─ Best: 13.558631ms
├─ Worst: 58.478946ms
├─ Completed: 7.717181341s
└─ Errors: 0
┌─ Best: 1.822146ms
├─ Worst: 16.474153ms
├─ Completed: 74.095124ms
└─ Errors: 0
┌─ Best: 1.39706ms
├─ Worst: 18.660143ms
├─ Completed: 72.917027ms
└─ Errors: 0
┌─ Best: 1.200337ms
├─ Worst: 12.993822ms
├─ Completed: 62.508599ms
└─ Errors: 0
┌─ Best: 1.003694ms
├─ Worst: 24.90427ms
├─ Completed: 64.599187ms
└─ Errors: 0
┌─ Best: 1.46918ms
├─ Worst: 9.120128ms
├─ Completed: 47.166381ms
└─ Errors: 0
┌─ Best: 1.314538ms
├─ Worst: 8.751482ms
├─ Completed: 46.42477ms
└─ Errors: 0
┌─ Best: 1.239737ms
├─ Worst: 7.369143ms
├─ Completed: 45.722399ms
└─ Errors: 0
┌─ Best: 1.309979ms
├─ Worst: 19.201788ms
├─ Completed: 70.88239ms
└─ Errors: 0
┌─ Best: 803.851µs
├─ Worst: 43.156802ms
├─ Completed: 83.121279ms
└─ Errors: 0
┌─ Best: 1.44486ms
├─ Worst: 13.112343ms
├─ Completed: 48.640357ms
└─ Errors: 0
┌─ Best: 116.743224ms
├─ Worst: 6.50439487s
├─ Completed: 13.555612379s
└─ Errors: 0
deleting 100 organizations - with cascade deleting all users and associated posts [conc:10, rule:""
]
┌─ Best: 310.676546ms
├─ Worst: 16.979496613s
├─ Completed: 36.384435247s
└─ Errors: 0