Microservice memory footprints
The various Content Delivery microservices have default Java maximum heap size settings preconfigured in their startup scripts. The actual maximum heap size needed by your microservices depends on the loads placed on them.
The preconfigured maximum heap size reflects the minimal expected memory footprint for each microservice, based on measurements made using Apache JMeter on an AWS (Amazon Web Services) instance using 2 CPUs and 8 GB of RAM.
However, if your services need to process large numbers of requests, these recommended heap sizes may not be sufficient. This is especially true for the Content Service, the Session-enabled Content Service and the Preview Service.
You can use Apache JMeter yourself to generate loads of different sizes, together with server monitoring tools, to capture memory and CPU usage over time.
Once you have determined your ideal heap size, you can change the maximum heap size of each microservice by modifying the -Xmx setting of the JVM options in the microservice's installation script.
| Microservice | Default Java maximum heap size |
|---|---|
| Content Deployer | 1024 MB |
| Discovery Service | 128 MB |
| Content Service | 1536 MB |
| Context Service | 512 MB |
| Contextual Image Delivery | 512 MB |
| Cache Channel Service | 512 MB |
| Monitoring Agent | 512 MB |
| Preview Service | 384 MB |
| Session-enabled Content Service | 1536 MB |
| UGC Community Service | 256 MB |
| UGC Moderation Service | 256 MB |