Performance Optimization
Controlling memory
Memory can be controlled per container using the mem_limit instruction in the compose file
Additionally the memory assigned to the Java process (Sprint Boot) is controlled by using the JAVA_OPTIONS environment variable
Contract tests
The container that is running the contract tests will also require a decent amount of memory (about 1gb)
If the contact test build is failing and is not being able to generate a test result report this might signal memory issues. This error would can when the contract test process would get killed due to insufficient memory.
If services run out of memory they might get killed during the start up phase - this will usually be the auth service, however that depends on many factors (system, JVM, etc).
OpenLMIS: the global initiative for powerful LMIS software