Details
-
Bug
-
Status: Open (View Workflow)
-
TBD
-
Resolution: Unresolved
-
-
CP: Roadmap backlog
-
2
-
Core: Platform
Description
We want folio-perf-test to run exactly the same queries each day.
Replace all random and all non-deterministic record/search string picking.
The setup picks 20 instances, 20 available items, 20 locations and 20 users (limit = number of threads):
Perf_Setup - GET inventory_instances?limit={limit}
Perf_Setup - GET inventory_items?query=(status.name=="Available")&limit={limit}
Perf_Setup - GET locations?limit={limit}
Perf_Setup - GET users?limit={limit}
This is not deterministic because there is not sort clause allowing the database to return any records.
One possibility is using limit={limit}&query=id==1234567* sortBy id (replace 1234567 by a suitable prefix that returns more than 20 records).
Several tests pick values for the query search string by random, for example "FOLIO-2154 search instance by contributors new array syntax" = "Perf - GET inventory/instances (contributors =/@name "{name}") sortby title":
Random rand = new Random(); ... def pick = rand.nextInt(size); def obj = resp.instances[pick].contributors; for (i = 0; i < obj.size(); i++) { def val = obj[i].name.trim(); vars.put("contributorName", val);
For each test that uses Random come up with a hard-coded list. It should contain search strings with low and high hit count.
TestRail: Results
Attachments
Issue Links
- relates to
-
RMB-613 optimizedSql performance regression
-
- Closed
-