Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In Progress

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-100

Overview:

In PERF-83 it was observed that a CQL query with the * token at the end resulted in a faster response time, despite a much higher database usage. 

There are many entities of different statuses in FOLIO. It'd be interesting to see if this pattern holds true for other statuses and CQL queries.

In this user story, run the following tests:

GET /circulation/loans?limit=2147483647&query=(itemId==${current_item} and status.name=="Closed*")
GET /circulation/requests?(itemId==${item_id} and (status=="Open - Awaiting pickup*" or status=="Open - Awaiting delivery*"))
GET /circulation/requests?(requesterId==${userID} and pickupServicePointId=${servicePoints_Id} and status=="Open - Awaiting pickup*")


Version:

OKAPI - Version 3.1.1

OKAPI modules 

  • Okapi (okapi-2.35.2)
  • Okapi (okapi-3.1.1)
  • okapi 1.9
  • okapi-proxy 1.9
  • Circulation Module (mod-circulation-19.0.13)
  • Circulation Storage Module (mod-circulation-storage-12.0.1)

circulation 9.3


feesfines (mod-feesfines-15.8.2)

feesfines 15.2

feesfines 15.0



Test Runs:

Test

Virtual Users

QueryProfiledDuration (sec)Rump Up (sec)

1

8

/circulation/loans?limit=2147483647&query=(itemId==${current_item} and status.name=="Closed")

NO

180080
220

/circulation/loans?limit=2147483647&query=(itemId==${current_item} and status.name=="Closed")

200
38

/circulation/loans?limit=2147483647&query=(itemId==${current_item} and status.name=="Closed*")

80
420

/circulation/loans?limit=2147483647&query=(itemId==${current_item} and status.name=="Closed*")

200
58/circulation/requests?(itemId==[current_item] and (status=="Open - Not yet filled" or status=="Open - Awaiting delivery"))80
620/circulation/requests?(itemId==[current_item] and (status=="Open - Not yet filled" or status=="Open - Awaiting delivery"))200
78/circulation/requests?(itemId==[item_id] and (status=="Open - Not yet filled*" or status=="Open - Awaiting delivery*"))80
820/circulation/requests?(itemId==[item_id] and (status=="Open - Not yet filled*" or status=="Open - Awaiting delivery*"))200
98/circulation/requests?(requesterId==[requesterID] and pickupServicePointId=[pickPoint] and status=="Open - Not yet filled")80
1020/circulation/requests?(requesterId==[requesterID] and pickupServicePointId=[pickPoint] and status=="Open - Not yet filled")200
118/circulation/requests?(requesterId==[requesterID] and pickupServicePointId=[pickPoint] and status=="Open - Not yet filled*")80
1220/circulation/requests?(requesterId==[requesterID] and pickupServicePointId=[pickPoint] and status=="Open - Not yet filled*")200