Page tree

Versions Compared

Key

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

Requirements: 
Jira
serverFOLIO Issue Tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODINVOICE-101
Jira
serverFOLIO Issue Tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODORDERS-311
Jira
serverFOLIO Issue Tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODORGS-45

Memory issues detection approach

Throttled mode of service load is most convenient way to identify memory leaks or another memory utilization issues. The utility https://github.com/khandramai/gatling-folio-performance for emulation of load regime was implemented based on load and performance testing framework Gatling.

...

Deep analysis of the memory utilization was performed with using Eclipse Memory Analyzer on the basis of memory dumps prepared in advance during the operation of the service (after 1 hour of service operating).

Issues Found

JMX reporting based on Dropwizard metrics

Description

The heap memory size is constantly increasing under load, reaches the maximum value for the container and a service failure occurs. The service does not recover after a load disconnect.

Detailed investigation

Emulation of the load on local environment showed the following results:

...

Heap dumps analysis showed that issue was fixed.

Summary

Disable Dropwizard metrics on production environment. For this purpose, it makes sense to refactor the existing code to exclude the hardcoded enabling of the metrics RestLauncher.java#L30. Moreover, Vert.X supports the enabling of metrics collecting as a key of the Java command line, so the possibility of its enabling can be saved if command line activation is used.

...