PocketBase 0.23.x
┌─ Best: 1.941848ms
├─ Worst: 20.396041ms
├─ Completed: 36.742346ms
└─ Errors: 0
┌─ Best: 1.663126ms
├─ Worst: 9.295677ms
├─ Completed: 24.882779ms
└─ Errors: 0
┌─ Best: 876.404µs
├─ Worst: 6.080664ms
├─ Completed: 16.813987ms
└─ Errors: 0
┌─ Best: 2.957692ms
├─ Worst: 8.213673ms
├─ Completed: 25.450582ms
└─ Errors: 0
┌─ Best: 1.569040664s
├─ Worst: 4.563699886s
├─ Completed: 17.244721668s
└─ Errors: 0
Creating 250 users [reqs:250, conc:50, rule:"@request.body.email != '' && @request.body.permissions:length > 0"
]
┌─ Best: 1.81803351s
├─ Worst: 4.570190459s
├─ Completed: 17.476441158s
└─ Errors: 0
┌─ Best: 8.911195ms
├─ Worst: 1.848211674s
├─ Completed: 3.553960818s
└─ Errors: 0
Creating 5000 posts10k [reqs:5000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 8.641915ms
├─ Worst: 2.045605228s
├─ Completed: 3.842200499s
└─ Errors: 0
┌─ Best: 4.94998ms
├─ Worst: 3.529433867s
├─ Completed: 28.310648016s
└─ Errors: 0
Creating 12500 posts25k [reqs:12500, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 10.245841ms
├─ Worst: 2.65728407s
├─ Completed: 23.631220555s
└─ Errors: 0
┌─ Best: 5.609743ms
├─ Worst: 5.218294868s
├─ Completed: 45.504794524s
└─ Errors: 0
Creating 25000 posts50k [reqs:25000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 6.529386ms
├─ Worst: 4.205687863s
├─ Completed: 35.516598432s
└─ Errors: 0
┌─ Best: 3.233053ms
├─ Worst: 4.247822507s
├─ Completed: 1m43.241194245s
└─ Errors: 0
Creating 50000 posts100k [reqs:50000, conc:500, rule:"@request.auth.id != '' && @request.body.public:isset = true"
]
┌─ Best: 5.190261ms
├─ Worst: 4.914585489s
├─ Completed: 1m25.379997417s
└─ Errors: 0
┌─ Best: 5.862067138s
├─ Worst: 9.123482682s
├─ Completed: 9.125310769s
└─ Errors: 0
┌─ Best: 152.087102ms
├─ Worst: 475.763027ms
├─ Completed: 8.820845381s
└─ Errors: 0
┌─ Best: 310.609991ms
├─ Worst: 2.76970094s
├─ Completed: 2.78198071s
└─ Errors: 0
┌─ Best: 4.462578ms
├─ Worst: 505.54939ms
├─ Completed: 1.757375077s
└─ Errors: 0
users - getOne for auth refresh comparison (high concurrency) [reqs:1000, conc:1000, rule:""
, query:/7zykldn04vtud2x
]
┌─ Best: 267.440055ms
├─ Worst: 1.360656612s
├─ Completed: 1.385659915s
└─ Errors: 0
users - getOne for auth refresh comparison (medium concurrency) [reqs:1000, conc:100, rule:""
, query:/7zykldn04vtud2x
]
┌─ Best: 4.456059ms
├─ Worst: 599.693296ms
├─ Completed: 1.647109227s
└─ Errors: 0
posts10k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 1.458926ms
├─ Worst: 7.069469ms
├─ Completed: 2.317049812s
└─ Errors: 0
posts10k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 496.827275ms
├─ Worst: 1.198214469s
├─ Completed: 1.205287338s
└─ Errors: 0
posts10k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 195.879843ms
├─ Worst: 796.626425ms
├─ Completed: 809.589318ms
└─ 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: 448.683199ms
├─ Worst: 1.36142542s
├─ Completed: 1.368563129s
└─ Errors: 0
┌─ Best: 6.454546ms
├─ Worst: 35.158264ms
├─ Completed: 190.406501ms
└─ 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.8653ms
├─ Worst: 67.572637ms
├─ Completed: 236.119768ms
└─ Errors: 0
posts10k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 6.820668ms
├─ Worst: 63.993262ms
├─ Completed: 300.907954ms
└─ 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: 6.066385ms
├─ Worst: 66.473393ms
├─ Completed: 353.63617ms
└─ Errors: 0
┌─ Best: 1.948208ms
├─ Worst: 26.096867ms
├─ Completed: 127.698284ms
└─ Errors: 0
posts10k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 5.397062ms
├─ Worst: 205.369842ms
├─ Completed: 390.532241ms
└─ Errors: 0
posts10k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.606046ms
├─ Worst: 37.630275ms
├─ Completed: 113.396385ms
└─ Errors: 0
posts10k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 3.057892ms
├─ Worst: 25.161983ms
├─ Completed: 118.810247ms
└─ Errors: 0
posts10k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 10.381602ms
├─ Worst: 165.388918ms
├─ Completed: 374.888737ms
└─ 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.746607ms
├─ Worst: 25.797265ms
├─ Completed: 111.109375ms
└─ 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: 2.36729ms
├─ Worst: 35.185224ms
├─ Completed: 91.031613ms
└─ Errors: 0
posts10k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 4.254458ms
├─ Worst: 104.634189ms
├─ Completed: 280.872993ms
└─ Errors: 0
posts10k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 5.995504ms
├─ Worst: 92.315779ms
├─ Completed: 302.15976ms
└─ 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.135289ms
├─ Worst: 25.878466ms
├─ Completed: 97.808122ms
└─ Errors: 0
posts10k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 75.36307ms
├─ Worst: 265.57697ms
├─ Completed: 1.496662903s
└─ 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.861648ms
├─ Worst: 24.769261ms
├─ Completed: 102.018619ms
└─ Errors: 0
posts10k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 29.06688ms
├─ Worst: 233.89648ms
├─ Completed: 1.053674966s
└─ 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: 2.25981ms
├─ Worst: 27.452312ms
├─ Completed: 100.391612ms
└─ Errors: 0
posts10k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 24.103539ms
├─ Worst: 218.628537ms
├─ Completed: 1.133105253s
└─ 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.584126ms
├─ Worst: 20.065242ms
├─ Completed: 97.295159ms
└─ Errors: 0
posts10k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 491.243258ms
├─ Worst: 746.824267ms
├─ Completed: 6.315496337s
└─ 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.317333ms
├─ Worst: 46.643352ms
├─ Completed: 184.718639ms
└─ 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: 700.384558ms
├─ Worst: 994.549246ms
├─ Completed: 8.471623127s
└─ 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.022688ms
├─ Worst: 24.28802ms
├─ Completed: 124.784592ms
└─ Errors: 0
posts25k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 2.33921ms
├─ Worst: 7.848272ms
├─ Completed: 3.363263664s
└─ Errors: 0
posts25k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 222.712995ms
├─ Worst: 1.586288361s
├─ Completed: 1.586938923s
└─ Errors: 0
posts25k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 234.295443ms
├─ Worst: 851.30682ms
├─ Completed: 856.823202ms
└─ 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: 593.588561ms
├─ Worst: 1.651647391s
├─ Completed: 1.660570188s
└─ Errors: 0
┌─ Best: 4.971141ms
├─ Worst: 54.521024ms
├─ Completed: 215.988689ms
└─ Errors: 0
posts25k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 4.589619ms
├─ Worst: 56.10519ms
├─ Completed: 281.92636ms
└─ Errors: 0
posts25k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 5.692223ms
├─ Worst: 60.363168ms
├─ Completed: 311.818842ms
└─ 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: 10.349682ms
├─ Worst: 84.559347ms
├─ Completed: 380.975367ms
└─ Errors: 0
┌─ Best: 3.773376ms
├─ Worst: 30.794007ms
├─ Completed: 148.087849ms
└─ Errors: 0
posts25k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 14.075698ms
├─ Worst: 386.31163ms
├─ Completed: 932.581557ms
└─ Errors: 0
posts25k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.51649ms
├─ Worst: 27.551113ms
├─ Completed: 105.642595ms
└─ Errors: 0
posts25k - author check (with index and skipTotal) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20&skipTotal=1
]
┌─ Best: 3.093533ms
├─ Worst: 36.884872ms
├─ Completed: 101.141896ms
└─ Errors: 0
posts25k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 26.562629ms
├─ Worst: 221.393031ms
├─ Completed: 915.318966ms
└─ 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.667767ms
├─ Worst: 24.751702ms
├─ Completed: 99.082568ms
└─ 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: 2.036488ms
├─ Worst: 50.330767ms
├─ Completed: 114.743393ms
└─ Errors: 0
posts25k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 20.478005ms
├─ Worst: 262.747481ms
├─ Completed: 883.865878ms
└─ Errors: 0
posts25k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 35.424026ms
├─ Worst: 250.08367ms
├─ Completed: 881.385147ms
└─ 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.529687ms
├─ Worst: 53.44402ms
├─ Completed: 118.383688ms
└─ Errors: 0
posts25k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 238.650823ms
├─ Worst: 507.56965ms
├─ Completed: 3.938690336s
└─ 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.886408ms
├─ Worst: 37.365674ms
├─ Completed: 119.814853ms
└─ Errors: 0
posts25k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 219.674225ms
├─ Worst: 425.591993ms
├─ Completed: 2.995025133s
└─ 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.688611ms
├─ Worst: 25.826666ms
├─ Completed: 96.905719ms
└─ Errors: 0
posts25k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 197.055372ms
├─ Worst: 523.568477ms
├─ Completed: 3.405440426s
└─ 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.687687ms
├─ Worst: 25.173263ms
├─ Completed: 92.32894ms
└─ 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.375906271s
├─ Worst: 1.826784686s
├─ Completed: 16.491385836s
└─ 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.036456ms
├─ Worst: 47.268155ms
├─ Completed: 239.993829ms
└─ 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.890655119s
├─ Worst: 2.451547627s
├─ Completed: 22.234159964s
└─ 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: 2.185849ms
├─ Worst: 34.218301ms
├─ Completed: 124.385673ms
└─ Errors: 0
posts50k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 3.412854ms
├─ Worst: 10.000561ms
├─ Completed: 5.004928608s
└─ Errors: 0
posts50k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 457.120366ms
├─ Worst: 1.99695772s
├─ Completed: 2.045874242s
└─ Errors: 0
posts50k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 168.325695ms
├─ Worst: 853.777443ms
├─ Completed: 856.135173ms
└─ 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: 465.111599ms
├─ Worst: 2.164043331s
├─ Completed: 2.187384507s
└─ Errors: 0
┌─ Best: 8.662116ms
├─ Worst: 51.094211ms
├─ Completed: 273.81389ms
└─ Errors: 0
posts50k - expand author (limited fields) [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author&fields=id,collectionId,expand.author.id
]
┌─ Best: 5.468423ms
├─ Worst: 85.519753ms
├─ Completed: 329.309039ms
└─ Errors: 0
posts50k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 7.880913ms
├─ Worst: 73.580063ms
├─ Completed: 385.03975ms
└─ 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: 8.910397ms
├─ Worst: 92.638942ms
├─ Completed: 453.890074ms
└─ Errors: 0
┌─ Best: 8.025153ms
├─ Worst: 39.661324ms
├─ Completed: 216.411533ms
└─ Errors: 0
posts50k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 93.110424ms
├─ Worst: 286.897825ms
├─ Completed: 1.465977972s
└─ Errors: 0
posts50k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 1.923888ms
├─ Worst: 63.584783ms
├─ Completed: 125.563119ms
└─ 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.719967ms
├─ Worst: 18.887518ms
├─ Completed: 88.677926ms
└─ Errors: 0
posts50k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 37.904396ms
├─ Worst: 220.625751ms
├─ Completed: 1.473188563s
└─ Errors: 0
posts50k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.017848ms
├─ Worst: 56.538674ms
├─ Completed: 133.730112ms
└─ 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.739807ms
├─ Worst: 32.551855ms
├─ Completed: 93.651267ms
└─ Errors: 0
posts50k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 72.069938ms
├─ Worst: 251.167997ms
├─ Completed: 1.559945204s
└─ Errors: 0
posts50k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 102.985625ms
├─ Worst: 290.137279ms
├─ Completed: 1.647062323s
└─ 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.369286ms
├─ Worst: 33.265338ms
├─ Completed: 102.684265ms
└─ Errors: 0
posts50k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 802.345915ms
├─ Worst: 1.12552301s
├─ Completed: 10.487407133s
└─ 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: 2.297529ms
├─ Worst: 26.732151ms
├─ Completed: 97.555923ms
└─ Errors: 0
posts50k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 656.026592ms
├─ Worst: 935.217865ms
├─ Completed: 8.131697293s
└─ 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.783214ms
├─ Worst: 28.127827ms
├─ Completed: 99.41268ms
└─ Errors: 0
posts50k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 739.33802ms
├─ Worst: 1.018787385s
├─ Completed: 9.38279906s
└─ 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: 3.264066ms
├─ Worst: 24.466795ms
├─ Completed: 111.482328ms
└─ Errors: 0
posts50k - nested multiple relations lookup (no indexes, match-all) [reqs:100, conc:10, rule:"author.permissions.active = true"
, query:?perPage=20
]
┌─ Best: 2.918195471s
├─ Worst: 3.988987656s
├─ Completed: 36.821004578s
└─ 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: 8.208783ms
├─ Worst: 76.568551ms
├─ Completed: 246.924346ms
└─ 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: 3.84743005s
├─ Worst: 5.328554047s
├─ Completed: 50.085244641s
└─ 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: 2.054495ms
├─ Worst: 29.892342ms
├─ Completed: 128.447554ms
└─ Errors: 0
posts100k - simpleA (many requests, no rules, no concurrency) [reqs:1000, conc:1, rule:""
, query:?perPage=20
]
┌─ Best: 5.605281ms
├─ Worst: 16.586963ms
├─ Completed: 7.838620126s
└─ Errors: 0
posts100k - simpleB (many requests, no rules, high concurrency) [reqs:1000, conc:1000, rule:""
, query:?perPage=20
]
┌─ Best: 246.688617ms
├─ Worst: 3.121221681s
├─ Completed: 3.16569317s
└─ Errors: 0
posts100k - simpleC (many requests, no rules, high concurrency, skipTotal) [reqs:1000, conc:1000, rule:""
, query:?perPage=20&skipTotal=1
]
┌─ Best: 165.611936ms
├─ Worst: 841.737975ms
├─ Completed: 852.842377ms
└─ 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: 562.72648ms
├─ Worst: 3.532512561s
├─ Completed: 3.563587309s
└─ Errors: 0
┌─ Best: 10.791999ms
├─ Worst: 70.903917ms
├─ Completed: 415.141469ms
└─ 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.972658ms
├─ Worst: 84.504855ms
├─ Completed: 489.701046ms
└─ Errors: 0
posts100k - expand author.permissions [reqs:100, conc:10, rule:""
, query:?perPage=20&expand=author.permissions
]
┌─ Best: 23.661372ms
├─ Worst: 104.938523ms
├─ Completed: 506.613923ms
└─ 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: 11.219962ms
├─ Worst: 140.59674ms
├─ Completed: 625.928622ms
└─ Errors: 0
┌─ Best: 6.364246ms
├─ Worst: 71.454558ms
├─ Completed: 360.621934ms
└─ Errors: 0
posts100k - author check (no index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 93.264074ms
├─ Worst: 394.004168ms
├─ Completed: 2.938578519s
└─ Errors: 0
posts100k - author check (with index) [reqs:100, conc:10, rule:"author = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.445058ms
├─ Worst: 87.270469ms
├─ Completed: 179.647535ms
└─ 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.668692ms
├─ Worst: 27.112955ms
├─ Completed: 95.173165ms
└─ Errors: 0
posts100k - author.id (extra join) check (no index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 69.315539ms
├─ Worst: 374.971534ms
├─ Completed: 2.628071154s
└─ Errors: 0
posts100k - author.id (extra join) check (with index) [reqs:100, conc:10, rule:"author.id = @request.auth.id"
, query:?perPage=20
]
┌─ Best: 2.007014ms
├─ Worst: 48.329026ms
├─ Completed: 130.320694ms
└─ 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: 2.570498ms
├─ Worst: 20.96419ms
├─ Completed: 93.059506ms
└─ Errors: 0
posts100k - loose large text search (no index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 188.120702ms
├─ Worst: 407.711192ms
├─ Completed: 3.180661142s
└─ Errors: 0
posts100k - loose large text search (with index) [reqs:100, conc:10, rule:"description ~ 'ipsum dolor'"
, query:?perPage=20
]
┌─ Best: 145.176991ms
├─ Worst: 424.34806ms
├─ Completed: 3.105404527s
└─ 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: 3.068781ms
├─ Worst: 38.321512ms
├─ Completed: 107.707324ms
└─ Errors: 0
posts100k - multiple select :each (no index, match-all) [reqs:100, conc:10, rule:"type:each != 'c'"
, query:?perPage=20
]
┌─ Best: 2.106701438s
├─ Worst: 2.605572683s
├─ Completed: 23.429935335s
└─ 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: 2.384297ms
├─ Worst: 24.496811ms
├─ Completed: 105.689057ms
└─ Errors: 0
posts100k - multiple select :each (no index, at-least-one) [reqs:100, conc:10, rule:"type:each ?!= 'c'"
, query:?perPage=20
]
┌─ Best: 1.709238257s
├─ Worst: 2.019786347s
├─ Completed: 18.794680103s
└─ 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.635011ms
├─ Worst: 26.830664ms
├─ Completed: 99.466364ms
└─ Errors: 0
posts100k - nested single relations lookup (no indexes) [reqs:100, conc:10, rule:"author.organization.name != 'test'"
, query:?perPage=20
]
┌─ Best: 1.713492636s
├─ Worst: 2.270771586s
├─ Completed: 20.235519046s
└─ 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: 2.639338ms
├─ Worst: 22.945236ms
├─ Completed: 103.822384ms
└─ 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.828472408s
├─ Worst: 8.036261271s
├─ Completed: 1m16.302655384s
└─ 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: 4.247267ms
├─ Worst: 48.019832ms
├─ Completed: 232.840271ms
└─ 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: 8.778988957s
├─ Worst: 10.639894489s
├─ Completed: 1m39.783308913s
└─ 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: 5.234912ms
├─ Worst: 21.433773ms
├─ Completed: 112.335174ms
└─ Errors: 0
┌─ Best: 432.51527ms
├─ Worst: 5.157762441s
├─ Completed: 5.163557838s
└─ Errors: 0
┌─ Best: 429.519323ms
├─ Worst: 4.191907612s
├─ Completed: 4.19487683s
└─ Errors: 0
┌─ Best: 72.949367ms
├─ Worst: 866.487474ms
├─ Completed: 4.860070756s
└─ Errors: 0
┌─ Best: 27.79925ms
├─ Worst: 883.629243ms
├─ Completed: 4.373368377s
└─ Errors: 0
┌─ Best: 9.492498ms
├─ Worst: 22.305296ms
├─ Completed: 6.362172896s
└─ Errors: 0
┌─ Best: 9.467537ms
├─ Worst: 22.109094ms
├─ Completed: 6.505871754s
└─ Errors: 0
┌─ Best: 2.226054ms
├─ Worst: 39.481239ms
├─ Completed: 99.657363ms
└─ Errors: 0
┌─ Best: 1.62089ms
├─ Worst: 13.003039ms
├─ Completed: 60.402965ms
└─ Errors: 0
┌─ Best: 3.209699ms
├─ Worst: 35.930337ms
├─ Completed: 160.988254ms
└─ Errors: 0
┌─ Best: 2.618856ms
├─ Worst: 42.375576ms
├─ Completed: 164.708075ms
└─ Errors: 0
┌─ Best: 2.457535ms
├─ Worst: 48.12197ms
├─ Completed: 146.380004ms
└─ Errors: 0
┌─ Best: 3.624942ms
├─ Worst: 51.611071ms
├─ Completed: 156.332064ms
└─ Errors: 0
┌─ Best: 2.480575ms
├─ Worst: 41.010287ms
├─ Completed: 151.403153ms
└─ Errors: 0
┌─ Best: 2.743376ms
├─ Worst: 47.770647ms
├─ Completed: 152.564559ms
└─ Errors: 0
┌─ Best: 3.682503ms
├─ Worst: 52.168594ms
├─ Completed: 191.691274ms
└─ Errors: 0
┌─ Best: 3.506181ms
├─ Worst: 42.606056ms
├─ Completed: 160.520646ms
└─ Errors: 0
┌─ Best: 703.780188ms
├─ Worst: 24.605671799s
├─ Completed: 1m9.756329623s
└─ Errors: 0
deleting 100 organizations - with cascade deleting all users and associated posts [conc:10, rule:""
]
┌─ Best: 1.837317405s
├─ Worst: 1m50.294734411s
├─ Completed: 4m19.31889086s
└─ Errors: 0