PTF - Performance Testing of Exporting Circulation Logs

PTF - Performance Testing of Exporting Circulation Logs

Overview

  • This document contains performance testing results for Exporting Circulation Log on ECS Central and Member tenants.

  • The primary focus is to evaluate system behavior under increasing data volumes and identify the threshold at which performance degradation occurs.

  • Jira https://folio-org.atlassian.net/browse/PERF-1420

Summary

  • Circulation Log Export scales linearly up to 50K, indicating the inflection point begins around 100K records on both Central and Member tenants.

  • Export duration on Central tenant is ~10–15% faster than Member, but comparison is influenced by different dataset sizes (1M vs 7M logs).

  • 1K–50K exports complete within ~4 sec–2.5 min and scale near-linearly.

  • Exports above 100K become heavy — 100K ~4-6 min, 200K takes ~14–18 min, and 300K ~27–31 min.

  • CICO is impacted by concurrent exports, but the impact of Circulation Log exports on CICO does not increase proportionally with export size.

  • Check-In/Check-Out response times increase (mostly under 20% on average), with the most notable spikes at the 95th percentile during 30K (37%) and 200K+ (27% - 64%) exports.

 

Test Runs 

Test #

Test Conditions

Status

1

Central tenant – Export: 1K, 10K, 30K, 50K, 100K, 200K, 300K records

Completed

2

Member tenant – Export: 1K, 10K, 30K, 50K, 100K, 200K, 300K records

Completed

3

Member tenant – Export (1K–300K) + CICO background load (8 users)

Completed

Results

Test №1

This table contains Circulation Log Export durations across multiple export sizes on the Central tenant.
Export scales linearly up to 50K but degrades at 100K. 100K marks the inflection point where per-record cost begins accelerating non-linearly.

 
Export size

Central tenant

Duration

sec/1K

1K

3.9 sec

3.9 sec

10K

14.1 sec

1.4 sec

30K

44.4 sec

1.4 sec

50K

1 min 25 sec

1.7 sec

100K

4 min 33 sec

2.7 sec

200K

14 min 20 sec

4.3 sec

300K

27 min 16 sec

5.4 sec


Test №2

This table contains Circulation Log Export durations across multiple export sizes on the Member tenant.
On member tenant follows the same pattern, the inflection point remains at 100K.


Export size

Member tenant 

Duration

sec/1K

1K

18.8 sec

18.7 sec

10K

28.5 sec

2.8 sec

30K

1 min 17 sec

2.5 sec

50K

2 min 24 sec

2.8 sec

100K

5 min 51 sec

3.5 sec

200K

17 min 55 sec

5.3 sec

300K

30 min 52 sec

6.1 sec


Test №3

This table contains Circulation Log Export durations across multiple export sizes on the Member tenant with CICO background load (8 users).
The average impact on CICO ~20%. However, pct95 reveals significant spikes: Check-Out Controller pct95 reaches 1874 ms during 30K export (+37%) and Check-In Controller pct95 hits 984 ms during 200K export (+64%).
The impact of Circulation Log exports on CICO does not increase proportionally with export size.

CICO

Response time, ms

Baseline 

Circulation Log Export


Transaction

no Export

1K

 10K

30K

50K

100K

200K

300K

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Check-In Controller

386

600

435

579

472

720

451

816

409

674

420

684

430

984

403

882

Check-Out Controller

852

1366

961

1396

1014

1553

1022

1874

861

1365

1000

1716

990

1677

926

1736

POST_circulation/check-in-by-barcode (Submit_barcode_checkin)

196

311

218

333

214

335

212

361

199

383

203

340

206

348

185

327

POST_circulation/check-out-by-barcode (Submit_barcode_checkou)

224

324

247

373

236

409

260

584

210

439

237

375

292

444

220

405

GET_circulation/loans (Submit_barcode_checkout)

112

146

114

167

119

197

122

290

102

238

121

208

115

207

113

198

Impact of Circulation Log Export on Check-In and Check-Out:

CICO

Delta, ms

Circulation Log Export

Transaction

1K

 10K

30K

50K

100K

200K

300K

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Avg

pct95

Check-In Controller

49

-21

86

120

65

216

23

74

34

84

44

384

17

282

Check-Out Controller

109

30

162

187

170

508

9

-1

148

350

138

311

74

370

POST_circulation/check-in-by-barcode (Submit_barcode_checkin)

22

22

18

24

16

50

3

72

7

29

10

37

-11

16

POST_circulation/check-out-by-barcode (Submit_barcode_checkout)

23

49

12

85

36

260

-14

115

13

51

68

120

-4

81

GET_circulation/loans (Submit_barcode_checkout)

2

21

7

51

10

144

-10

92

9

62

3

61

1

52

 

CICO

 Delta, %

Circulation Log Export

Transaction

1K

 10K

30K

50K

100K

200K

300K

Avg

pct95

Avg

pct95

Avg

pct95