PocketBase v0.24.0-dev
┌─ Best: 609.725µs
├─ Worst: 4.406199ms
├─ Completed: 11.215061ms
└─ Errors: 0
┌─ Best: 693.607µs
├─ Worst: 10.888858ms
├─ Completed: 11.964628ms
└─ Errors: 0
┌─ Best: 616.926µs
├─ Worst: 2.455663ms
├─ Completed: 7.273506ms
└─ Errors: 0
┌─ Best: 853.327µs
├─ Worst: 3.36107ms
├─ Completed: 9.804889ms
└─ Errors: 0
┌─ Best: 203.054647ms
├─ Worst: 863.775856ms
├─ Completed: 2.240622795s
└─ Errors: 0
Creating 250 users [reqs:250, conc:50, rule:"@request.body.email != '' && @request.body.permissions:length > 0"
]
┌─ Best: 256.660912ms
├─ Worst: 916.792981ms
├─ Completed: 2.202993436s
└─ Errors: 0
┌─ Best: 1.10941ms
├─ Worst: 986.020982ms
├─ Completed: 1.243724672s
└─ Errors: 0
Creating 5000 posts10k [reqs:5000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 1.403173ms
├─ Worst: 1.023067843s
├─ Completed: 1.383130364s
└─ Errors: 0
┌─ Best: 862.248µs
├─ Worst: 1.143153072s
├─ Completed: 3.039118708s
└─ Errors: 0
Creating 12500 posts25k [reqs:12500, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 1.340933ms
├─ Worst: 1.158862861s
├─ Completed: 3.205265869s
└─ Errors: 0
┌─ Best: 927.528µs
├─ Worst: 1.26116924s
├─ Completed: 6.114998219s
└─ Errors: 0
Creating 25000 posts50k [reqs:25000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 1.267172ms
├─ Worst: 1.559939474s
├─ Completed: 6.574618884s
└─ Errors: 0
┌─ Best: 945.289µs
├─ Worst: 1.433714274s
├─ Completed: 12.589717179s
└─ Errors: 0
Creating 50000 posts100k [reqs:50000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 1.223692ms
├─ Worst: 1.37474585s
├─ Completed: 13.580098262s
└─ Errors: 0
┌─ Best: 168.43494ms
├─ Worst: 1.096741974s
├─ Completed: 1.110199866s
└─ Errors: 0
┌─ Best: 68.517478ms
├─ Worst: 93.714007ms
├─ Completed: 1.787370402s
└─ Errors: 0
┌─ Best: 12.723727ms
├─ Worst: 60.790043ms
├─ Completed: 64.859763ms
└─ Errors: 0
┌─ Best: 578.845µs
├─ Worst: 53.476851ms
├─ Completed: 79.792993ms
└─ Errors: 0
users - getOne for auth refresh comparison (high concurrency) [reqs:1000, conc:1000, rule:""
, query:/mhqel3935swet07
]
┌─ Best: 14.854708ms
├─ Worst: 73.826736ms
├─ Completed: 77.358451ms
└─ Errors: 0
users - getOne for auth refresh comparison (medium concurrency) [reqs:1000, conc:100, rule:""
, query:/mhqel3935swet07
]
┌─ Best: 724.407µs
├─ Worst: 26.733107ms
├─ Completed: 63.748917ms
└─ Errors: 0
posts10k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 1.648737ms
├─ Worst: 5.737697ms
├─ Completed: 2.641755739s
└─ Errors: 0
posts10k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 19.405075ms
├─ Worst: 267.112644ms
├─ Completed: 270.405077ms
└─ Errors: 0
posts10k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 18.90411ms
├─ Worst: 181.700629ms
├─ Completed: 183.453127ms
└─ 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: 21.009292ms
├─ Worst: 372.51544ms
├─ Completed: 373.36461ms
└─ Errors: 0
┌─ Best: 2.314464ms
├─ Worst: 7.259713ms
├─ Completed: 36.65669ms
└─ Errors: 0
posts10k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 2.95319ms
├─ Worst: 11.040551ms
├─ Completed: 51.824005ms
└─ Errors: 0
posts10k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 3.851639ms
├─ Worst: 14.153864ms
├─ Completed: 62.009229ms
└─ 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.026371ms
├─ Worst: 13.78938ms
├─ Completed: 85.376628ms
└─ Errors: 0
┌─ Best: 1.424694ms
├─ Worst: 5.023331ms
├─ Completed: 23.770482ms
└─ Errors: 0
posts10k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.529065ms
├─ Worst: 355.425191ms
├─ Completed: 355.963197ms
└─ Errors: 0
posts10k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.274973ms
├─ Worst: 31.104318ms
├─ Completed: 48.146132ms
└─ 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.262813ms
├─ Worst: 15.851723ms
├─ Completed: 32.278811ms
└─ Errors: 0
posts10k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.621227ms
├─ Worst: 198.248916ms
├─ Completed: 207.710414ms
└─ 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.253693ms
├─ Worst: 37.621948ms
├─ Completed: 51.740533ms
└─ 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.205053ms
├─ Worst: 12.725772ms
├─ Completed: 30.065391ms
└─ Errors: 0
posts10k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 3.78096ms
├─ Worst: 126.384586ms
├─ Completed: 206.325172ms
└─ Errors: 0
posts10k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 3.691958ms
├─ Worst: 158.808404ms
├─ Completed: 180.135144ms
└─ 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: 1.251293ms
├─ Worst: 26.712317ms
├─ Completed: 42.146437ms
└─ Errors: 0
posts10k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 51.774538ms
├─ Worst: 196.600564ms
├─ Completed: 781.889008ms
└─ 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: 1.545256ms
├─ Worst: 19.922007ms
├─ Completed: 40.230779ms
└─ Errors: 0
posts10k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 46.92141ms
├─ Worst: 195.790883ms
├─ Completed: 765.666592ms
└─ 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.411895ms
├─ Worst: 20.140211ms
├─ Completed: 40.683386ms
└─ Errors: 0
posts10k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 15.695204ms
├─ Worst: 107.786169ms
├─ Completed: 259.50708ms
└─ 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.337054ms
├─ Worst: 21.380745ms
├─ Completed: 40.156381ms
└─ Errors: 0
posts10k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 120.980753ms
├─ Worst: 238.796911ms
├─ Completed: 1.414301359s
└─ 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: 3.726879ms
├─ Worst: 36.669146ms
├─ Completed: 80.571329ms
└─ 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: 158.492995ms
├─ Worst: 240.966466ms
├─ Completed: 1.76342988s
└─ 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: 1.825499ms
├─ Worst: 26.584002ms
├─ Completed: 47.555783ms
└─ Errors: 0
posts25k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 2.394705ms
├─ Worst: 7.224997ms
├─ Completed: 4.078074667s
└─ Errors: 0
posts25k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 27.901098ms
├─ Worst: 344.9856ms
├─ Completed: 347.490067ms
└─ Errors: 0
posts25k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 9.909186ms
├─ Worst: 183.718442ms
├─ Completed: 186.233789ms
└─ 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: 23.858776ms
├─ Worst: 647.306849ms
├─ Completed: 648.887466ms
└─ Errors: 0
┌─ Best: 2.966391ms
├─ Worst: 13.573026ms
├─ Completed: 52.753846ms
└─ Errors: 0
posts25k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 3.661959ms
├─ Worst: 13.570466ms
├─ Completed: 63.441242ms
└─ Errors: 0
posts25k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 4.304286ms
├─ Worst: 16.909982ms
├─ Completed: 72.576981ms
└─ 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: 5.673541ms
├─ Worst: 19.874854ms
├─ Completed: 94.925943ms
└─ Errors: 0
┌─ Best: 1.967462ms
├─ Worst: 9.859506ms
├─ Completed: 32.839474ms
└─ Errors: 0
posts25k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 8.727255ms
├─ Worst: 666.832731ms
├─ Completed: 775.210782ms
└─ Errors: 0
posts25k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.207253ms
├─ Worst: 58.114389ms
├─ Completed: 71.277892ms
└─ Errors: 0
posts25k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 1.247734ms
├─ Worst: 13.918831ms
├─ Completed: 31.246939ms
└─ Errors: 0
posts25k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 8.553693ms
├─ Worst: 423.353802ms
├─ Completed: 496.375635ms
└─ 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.257534ms
├─ Worst: 71.442498ms
├─ Completed: 81.377046ms
└─ 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.232133ms
├─ Worst: 16.435459ms
├─ Completed: 32.727197ms
└─ Errors: 0
posts25k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 13.503108ms
├─ Worst: 188.824303ms
├─ Completed: 332.949237ms
└─ Errors: 0
posts25k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 12.965702ms
├─ Worst: 205.778891ms
├─ Completed: 353.929872ms
└─ 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: 1.301134ms
├─ Worst: 44.342406ms
├─ Completed: 57.753073ms
└─ Errors: 0
posts25k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 140.272661ms
├─ Worst: 355.603343ms
├─ Completed: 1.856773471s
└─ 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: 1.609338ms
├─ Worst: 38.372663ms
├─ Completed: 58.590005ms
└─ Errors: 0
posts25k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 129.852952ms
├─ Worst: 355.198715ms
├─ Completed: 1.710063258s
└─ 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: 1.408735ms
├─ Worst: 36.690726ms
├─ Completed: 52.831344ms
└─ Errors: 0
posts25k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 49.744911ms
├─ Worst: 162.844123ms
├─ Completed: 658.360407ms
└─ 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.358415ms
├─ Worst: 37.299773ms
├─ Completed: 55.324493ms
└─ Errors: 0
posts25k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 317.515893ms
├─ Worst: 512.327489ms
├─ Completed: 3.588611928s
└─ 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: 4.113286ms
├─ Worst: 51.879418ms
├─ Completed: 99.261426ms
└─ 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: 410.415944ms
├─ Worst: 581.46469ms
├─ Completed: 4.447158938s
└─ 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.734139ms
├─ Worst: 41.983591ms
├─ Completed: 62.721463ms
└─ Errors: 0
posts50k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 3.448279ms
├─ Worst: 9.82175ms
├─ Completed: 6.118326511s
└─ Errors: 0
posts50k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 53.1564ms
├─ Worst: 439.027673ms
├─ Completed: 440.407048ms
└─ Errors: 0
posts50k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 16.114222ms
├─ Worst: 181.581491ms
├─ Completed: 185.048531ms
└─ 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: 31.640598ms
├─ Worst: 1.127769204s
├─ Completed: 1.130518794s
└─ Errors: 0
┌─ Best: 4.008846ms
├─ Worst: 20.844596ms
├─ Completed: 68.104492ms
└─ Errors: 0
posts50k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 4.709893ms
├─ Worst: 17.479639ms
├─ Completed: 76.612989ms
└─ Errors: 0
posts50k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 5.573904ms
├─ Worst: 25.618171ms
├─ Completed: 95.07532ms
└─ 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: 6.405833ms
├─ Worst: 25.031645ms
├─ Completed: 108.313913ms
└─ Errors: 0
┌─ Best: 3.125315ms
├─ Worst: 16.392667ms
├─ Completed: 53.669812ms
└─ Errors: 0
posts50k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 19.2617ms
├─ Worst: 549.56383ms
├─ Completed: 719.359329ms
└─ Errors: 0
posts50k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.225254ms
├─ Worst: 54.997669ms
├─ Completed: 74.777695ms
└─ 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.286655ms
├─ Worst: 14.632167ms
├─ Completed: 29.543938ms
└─ Errors: 0
posts50k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 18.692974ms
├─ Worst: 280.21625ms
├─ Completed: 484.45451ms
└─ 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.230175ms
├─ Worst: 64.379779ms
├─ Completed: 73.949568ms
└─ 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.186334ms
├─ Worst: 14.851891ms
├─ Completed: 31.132438ms
└─ Errors: 0
posts50k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 25.778577ms
├─ Worst: 202.732732ms
├─ Completed: 501.869693ms
└─ Errors: 0
posts50k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 26.178862ms
├─ Worst: 227.247699ms
├─ Completed: 489.629642ms
└─ 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.275894ms
├─ Worst: 43.429501ms
├─ Completed: 59.253843ms
└─ Errors: 0
posts50k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 292.431305ms
├─ Worst: 573.141864ms
├─ Completed: 3.509236825s
└─ 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.549138ms
├─ Worst: 48.679924ms
├─ Completed: 67.974348ms
└─ Errors: 0
posts50k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 255.093726ms
├─ Worst: 573.685058ms
├─ Completed: 3.415338786s
└─ 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.340216ms
├─ Worst: 45.392608ms
├─ Completed: 63.734661ms
└─ Errors: 0
posts50k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 148.304968ms
├─ Worst: 280.161425ms
├─ Completed: 1.68570213s
└─ 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.369136ms
├─ Worst: 38.053764ms
├─ Completed: 55.870972ms
└─ Errors: 0
posts50k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 686.07711ms
├─ Worst: 870.861502ms
├─ Completed: 7.262319613s
└─ 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.872965ms
├─ Worst: 61.853766ms
├─ Completed: 111.001024ms
└─ 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: 877.165968ms
├─ Worst: 1.014926219s
├─ Completed: 9.16192136s
└─ 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: 1.831021ms
├─ Worst: 39.189224ms
├─ Completed: 65.313292ms
└─ Errors: 0
posts100k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 5.660907ms
├─ Worst: 14.472412ms
├─ Completed: 8.600929421s
└─ Errors: 0
posts100k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 36.412153ms
├─ Worst: 742.194557ms
├─ Completed: 743.130688ms
└─ Errors: 0
posts100k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 9.682396ms
├─ Worst: 225.694051ms
├─ Completed: 229.203012ms
└─ 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: 79.524308ms
├─ Worst: 2.394187787s
├─ Completed: 2.397596508s
└─ Errors: 0
┌─ Best: 6.283315ms
├─ Worst: 31.449857ms
├─ Completed: 107.435685ms
└─ Errors: 0
posts100k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 7.062164ms
├─ Worst: 32.027584ms
├─ Completed: 108.893664ms
└─ Errors: 0
posts100k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 7.664852ms
├─ Worst: 30.193002ms
├─ Completed: 118.975786ms
└─ 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: 8.852826ms
├─ Worst: 38.181338ms
├─ Completed: 144.424453ms
└─ Errors: 0
┌─ Best: 5.236943ms
├─ Worst: 26.277556ms
├─ Completed: 85.992233ms
└─ Errors: 0
posts100k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 40.503327ms
├─ Worst: 399.336201ms
├─ Completed: 812.496328ms
└─ Errors: 0
posts100k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.226935ms
├─ Worst: 66.361279ms
├─ Completed: 80.665891ms
└─ 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.192055ms
├─ Worst: 18.528303ms
├─ Completed: 34.02393ms
└─ Errors: 0
posts100k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 38.618026ms
├─ Worst: 303.107776ms
├─ Completed: 705.752754ms
└─ 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.236215ms
├─ Worst: 45.344788ms
├─ Completed: 59.806123ms
└─ 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.182494ms
├─ Worst: 14.841979ms
├─ Completed: 29.448156ms
└─ Errors: 0
posts100k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 52.315953ms
├─ Worst: 214.933562ms
├─ Completed: 732.296023ms
└─ Errors: 0
posts100k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 51.420383ms
├─ Worst: 190.214546ms
├─ Completed: 713.092363ms
└─ 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.204015ms
├─ Worst: 43.71185ms
├─ Completed: 59.046277ms
└─ Errors: 0
posts100k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 620.838162ms
├─ Worst: 799.162909ms
├─ Completed: 6.728248571s
└─ 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: 1.59334ms
├─ Worst: 32.650358ms
├─ Completed: 53.260889ms
└─ Errors: 0
posts100k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 554.394585ms
├─ Worst: 942.125101ms
├─ Completed: 6.456200909s
└─ 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: 1.535298ms
├─ Worst: 37.821543ms
├─ Completed: 55.997206ms
└─ Errors: 0
posts100k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 344.950274ms
├─ Worst: 493.121687ms
├─ Completed: 3.715122185s
└─ 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.436297ms
├─ Worst: 37.949266ms
├─ Completed: 51.715315ms
└─ Errors: 0
posts100k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 1.416971787s
├─ Worst: 1.619354126s
├─ Completed: 14.722589842s
└─ 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: 3.753726ms
├─ Worst: 51.789602ms
├─ Completed: 94.764054ms
└─ 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: 1.806919806s
├─ Worst: 1.953309999s
├─ Completed: 18.600048219s
└─ 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: 1.867383ms
├─ Worst: 40.584627ms
├─ Completed: 63.864478ms
└─ Errors: 0
┌─ Best: 520.936513ms
├─ Worst: 4.821193497s
├─ Completed: 4.827802219s
└─ Errors: 0
┌─ Best: 1.045399506s
├─ Worst: 4.643634938s
├─ Completed: 4.65015426s
└─ Errors: 0
┌─ Best: 176.090974ms
├─ Worst: 819.452419ms
├─ Completed: 3.107223427s
└─ Errors: 0
┌─ Best: 167.889116ms
├─ Worst: 858.922174ms
├─ Completed: 3.112074359s
└─ Errors: 0
┌─ Best: 6.750085ms
├─ Worst: 15.433875ms
├─ Completed: 4.669228175s
└─ Errors: 0
┌─ Best: 6.801526ms
├─ Worst: 16.829653ms
├─ Completed: 4.611984827s
└─ Errors: 0
┌─ Best: 1.227255ms
├─ Worst: 27.567949ms
├─ Completed: 44.410003ms
└─ Errors: 0
┌─ Best: 1.229616ms
├─ Worst: 15.208393ms
├─ Completed: 38.379447ms
└─ Errors: 0
┌─ Best: 839.65µs
├─ Worst: 11.868511ms
├─ Completed: 25.913409ms
└─ Errors: 0
┌─ Best: 902.331µs
├─ Worst: 22.394285ms
├─ Completed: 38.414447ms
└─ Errors: 0
┌─ Best: 880.531µs
├─ Worst: 5.393908ms
├─ Completed: 18.231672ms
└─ Errors: 0
┌─ Best: 900.972µs
├─ Worst: 3.626406ms
├─ Completed: 16.067524ms
└─ Errors: 0
┌─ Best: 864.691µs
├─ Worst: 3.795088ms
├─ Completed: 17.599904ms
└─ Errors: 0
┌─ Best: 1.068294ms
├─ Worst: 5.336428ms
├─ Completed: 21.664876ms
└─ Errors: 0
┌─ Best: 734.85µs
├─ Worst: 34.896484ms
├─ Completed: 50.472003ms
└─ Errors: 0
┌─ Best: 884.971µs
├─ Worst: 3.800449ms
├─ Completed: 16.778894ms
└─ Errors: 0
┌─ Best: 106.415957ms
├─ Worst: 4.169735918s
├─ Completed: 12.310460881s
└─ Errors: 0
deleting 100 organizations - with cascade deleting all users and associated posts [conc:10, rule:""
]
┌─ Best: 287.970485ms
├─ Worst: 14.935565023s
├─ Completed: 31.111862256s
└─ Errors: 0