Load Testing: mod-quick-marc

MODQM-94 - Getting issue details... STATUS

Test plan

Requests:

  • GET /records-editor/records?instanceId=<instanceId> (get quick-marc record)
  • PUT /records-editor/records/<parsedRecordId> (update bib marc record)
  • POST /records-editor/records (create new bib marc record)

Thread properties:

  • Number of threads (users): 50/70/100
  • Ramp-up period (seconds): 30
  • Loop count: 1

Additional requirement:

  • measure the amount of memory consumed by the module

File with test plan: quickMarcTestPlan.jmx

Test execution

Module startup

The peak memory usage: 299Mb

The peak CPU usage: 87.4%

50 threads

The peak memory usage: 325Mb

The peak CPU usage: 22.3%


No leak suspects found in heap dump: hd1.hprof
Label# SamplesAverageMedian90% Line95% Line99% LineMinMaxError %ThroughputReceived KB/secSent KB/sec
GET50256419865154538868267268260.00%1.892159.090.92
PUT50653876849697977110230846102300.00%1.557490.477.78
POST5026543254473982840332418175873418170.00%0.694430.363.44
TOTAL15011881744930004368344132872418170.00%2.023663.797.04

70 threads

The peak memory usage: 253Mb

The peak CPU usage: 18%


No leak suspects found in heap dump: hd.hprof
Label# SamplesAverageMedian90% Line95% Line99% LineMinMaxError %ThroughputReceived KB/secSent KB/sec
GET702239245038614098446010846950.00%2.077346.641.01
PUT704336759999601046015460200188586021254.29%0.769210.32.6
POST705598460023720987329876878180617804597.14%0.529930.221.77
TOTAL21033863320636008660200747281087804550.48%1.365961.823.29

The reason for the request failures is the SRM stopped respond to quickMarc requests


There is a problem in quickMarc with handling database connections. For some reason, several connections are live too long and this leads to errors when there are no open DB connections in the pool. It may be a problem with transaction management for record update requests.