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