JVM Memory Footprint Optimization for Spring Beans in Multitenancy Environments

Author(s): Pradeep Kumar

Publication #: 2501059

Date of Publication: 07.04.2019

Country: United States

Pages: 1-11

Published In: Volume 5 Issue 2 April-2019

DOI: https://doi.org/10.5281/zenodo.14631933

Abstract

Cloud-based multitenant applications, where a single instance serves multiple customers, face significant JVM memory management challenges. The Spring Framework, widely used for dependency injection, often creates redundant bean instances for each tenant, duplicating substantial amounts of immutable data. This inefficiency leads to excessive memory consumption, limiting scalability and increasing operational costs.

This paper focuses on optimizing the JVM memory footprint for SAP SuccessFactors Learning (SF Learning), a multitenant application utilizing Apache Tomcat, JVM, and Spring Framework. We propose a hierarchical class loader mechanism to share common data across tenants while isolating tenant-specific resources. Additional strategies include dynamic bean scope optimization, lazy initialization, tenant-aware bean factories, and garbage collection tuning.

Keywords: JVM, Apache Tomcat, Performance, Multitenancy, Spring Bean, ClassLoader, Heap Memory

Download/View Paper's PDF

Download/View Count: 124

Share this Article