Apigee hybrid supports large message payloads up to 30MB. The default message payload size is 10MB. See Message payload size.
To enable environments in your hybrid installation to support large message payloads, you need to make the following changes to your runtime configuration:
Increase the heap size to at least 4Gi.
Increase memory limits to at least 6Gi.
Increase memory resource requests to at least 4Gi.
You can configure these settings for individual environments or for all environments in your installation.
Configure individual environments to support large message payloads
If the proxies configured to support large message payloads have endpoints in only one or a few environments in your installation, you can configure the environments to support large payloads. This avoids adding additional memory to environments that will not need to support large payloads.
To configure individual environments to support large message payloads, you can use the envs.components.runtime properties. Make the following changes to your overrides.yaml file:
Add the following stanza to your overrides.yaml file:
ENV_RELEASE_NAME is a name used to keep track of installation and upgrades of the
apigee-env chart. This name must be unique from the other Helm release names in your installation.
Usually this is the same as ENV_NAME. However, if your environment has the same name
as your environment group, you must use different release names for the environment and environment group,
for example dev-env-release and dev-envgroup-release. For more information on releases
in Helm, see Three big concepts class="external" in the
Helm documentation.
ENV_NAME is the name of the environment you are upgrading.
OVERRIDES_FILE is your edited overrides.yaml file.
Configure all environments to support large message payloads
Changes to your runtime stanza will set the heap and memory limits for all environments in your installation. You can override these settings for individual environments with the envs.components.runtime properties.
Add the following stanza to your overrides.yaml file:
runtime:
cwcAppend:
bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs
resources:
requests:
memory: 4Gi
limits:
memory: 6Gi
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[],[],null,["Overview\n\n\nApigee hybrid supports large message payloads up to 30MB. The default message payload size is 10MB. See [Message payload size](/apigee/docs/api-platform/fundamentals/best-practices-api-proxy-design-and-development#size).\n\n\nTo enable environments in your hybrid installation to support large message payloads, you need to make the following changes to your runtime configuration:\n\n- Increase the heap size to at least 4Gi.\n- Increase memory limits to at least 6Gi.\n- Increase memory resource requests to at least 4Gi.\n\n| **Note:** Resources for memory depend on how much head room exists on your nodes.\n\nYou can configure these settings for individual environments or for all environments in your installation.\n\nConfigure individual environments to support large message payloads\n\n\nIf the proxies configured to support large message payloads have endpoints in only one or a few environments in your installation, you can configure the environments to support large payloads. This avoids adding additional memory to environments that will not need to support large payloads.\n\n\nTo configure individual environments to support large message payloads, you can use the `envs.components.runtime` properties. Make the following changes to your `overrides.yaml` file:\n\n1. Add the following stanza to your `overrides.yaml` file: \n\n ```\n envs:\n - name: ENV_NAME\n components.\n runtime:\n cwcAppend:\n bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs\n resources:\n requests:\n memory: 4Gi\n limits:\n memory: 6Gi\n ```\n | **Important:** You must set values for both [`envs.components.runtime.resources.limits.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#envs-comoponents-runtime-resources-limits-memory) and [`envs[].components.runtime.resources.requests.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#envs-comoponents-runtime-resources-requests-memory) for this environment. Setting either of the properties for this environment causes Apigee not to use the values of:\n | - [`runtime.resources.limits.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#runtime-resources-limits-memory)\n | - [`runtime.resources.requests.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#runtime-resources-requests-memory)\n\n See:\n - [`envs.components.runtime.resources.limits.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#envs-comoponents-runtime-resources-limits-memory)\n - [`envs.components.runtime.resources.requests.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#envs-comoponents-runtime-resources-requests-memory)\n2. Upgrade the `apigee-env` chart for each environment you are updating:\n\n Dry run: \n\n ```\n helm upgrade ENV_RELEASE_NAME apigee-env/ \\\n --install \\\n --namespace APIGEE_NAMESPACE \\\n --set env=ENV_NAME \\\n -f OVERRIDES_FILE \\\n --dry-run=server\n ```\n - \u003cvar translate=\"no\"\u003eENV_RELEASE_NAME\u003c/var\u003e is a name used to keep track of installation and upgrades of the `apigee-env` chart. This name must be unique from the other Helm release names in your installation. Usually this is the same as \u003cvar translate=\"no\"\u003eENV_NAME\u003c/var\u003e. However, if your environment has the same name as your environment group, you must use different release names for the environment and environment group, for example `dev-env-release` and `dev-envgroup-release`. For more information on releases in Helm, see [Three big concepts class=\"external\"](https://helm.sh/docs/intro/using_helm/#three-big-concepts) in the Helm documentation.\n - \u003cvar translate=\"no\"\u003eENV_NAME\u003c/var\u003e is the name of the environment you are upgrading.\n - \u003cvar translate=\"no\"\u003eOVERRIDES_FILE\u003c/var\u003e is your edited `overrides.yaml` file.\n3. Upgrade the chart: Dry run:\n\n ```\n helm upgrade ENV_RELEASE_NAME apigee-env/ \\\n --install \\\n --namespace APIGEE_NAMESPACE \\\n --set env=ENV_NAME \\\n -f OVERRIDES_FILE\n ```\n\nConfigure all environments to support large message payloads\n\n\nChanges to your `runtime` stanza will set the heap and memory limits for all environments in your installation. You can override these settings for individual environments with the `envs.components.runtime` properties.\n\n1. Add the following stanza to your `overrides.yaml` file: \n\n ```\n runtime:\n cwcAppend:\n bin_setenv_max_mem: 4096m # Increase max heap size to 4 gigs\n resources:\n requests:\n memory: 4Gi\n limits:\n memory: 6Gi\n ```\n\n See:\n - [`runtime.resources.limits.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#runtime-resources-limits-memory)\n - [`runtime.resources.requests.memory`](/apigee/docs/hybrid/v1.15/config-prop-ref#runtime-resources-requests-memory)\n2. Upgrade the `apigee-env` chart for each environment in your installation:\n\n Dry run: \n\n ```\n helm upgrade ENV_RELEASE_NAME apigee-env/ \\\n --install \\\n --namespace APIGEE_NAMESPACE \\\n --set env=ENV_NAME \\\n -f OVERRIDES_FILE \\\n --dry-run=server\n ```\n\n Upgrade the chart: \n\n ```\n helm upgrade ENV_RELEASE_NAME apigee-env/ \\\n --install \\\n --namespace APIGEE_NAMESPACE \\\n --set env=ENV_NAME \\\n -f OVERRIDES_FILE\n ```"]]